YARN是Hadoop中的一个cluster资源管理系统。 MapReduce 就是泡在YARN 之上的,其关系如下图, MapReduce 通过YARN 在cluster内申请内存和cpu资源,YARN执行MapReduce Task.
最近学习了YARN,
从部署的角度YARN支持三种调度器:FIFO, Capacity 和 Fair。
从开发应用程序的角度,实现一个YAN应用程序,需要编写三个程序1. Client 2. Application Master 3. Container Application, 也就是下图中椭圆形的三种程序, 对于MapReduce 其提供了Application Master 和 Client 一些丰富的Library 并且提供了 Container Application 的基础框架,所以我们基本上只需要做配置和编写Container Application 就可以。
这里将以一个简单的代码例子(不考虑错误)来看YARN提供的功能
YARN Client编写
1. 创建一个Application
YarnClientApplication app = yarnClient.createApplication();