ResourceManager和NodeManager一起构成数据计算框架。ResourceManager是系统中所有应用程序资源决策的最高权威。NodeManager是部署在每台机器的框架的agent,它负责管理各个容器,监控机器的资源使用情况(CPU、内存、存储,网络),以及将这些信息上报给ResourceManager。
每个应用程序的ApplicationMaster实际上是一个框架的中的特定library,它的职责就是与ResourceManager协商资源以及与NodeManager协作队任务进行执行和监管。
ResourceManager有两个主要组件:Scheduler 和 ApplicationManager.
Scheduler负责各个队列、应用程序间的集群资源分区,它具有可插拔的特性,当前的已有的调度器CapacityScheduler和FairScheduler就是插件的示例。
with previous stable release (hadoop-1.x). This means that all MapReduce jobs should still run unchanged on top of YARN with just a recompile.
hadoop-2.x中的MapReduce保留了与之前稳定版(hadoop-1.x)的API 兼容性。意思是说所有的Mapreduce作业只是需要重新编译后无需其他改变即可运行在YARN上。