为弥补老mapreduce中jobtracker和tasktracker的一些缺陷,0.23以后对整个mapreduce重构而产生了新mapreduce——Yarn。
原框架中核心的 JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
重构根本的思想是将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控。新的资源管理器全局管理所有应用程序计算资源的分配,每一个应用的 ApplicationMaster 负责相应的调度和协调。ResourceManager和每一台机器的节点管理服务器能够管理用户在那台机器上的进程并能对计算进行组织。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
运作机制图:
ResourceManager(资源管理(调度)器):
提供一个调度策略的插件,它负责将集群资源分配给多个队列和应用程序。
ApplicationMaster(应用管理器):
向调度器索要适当的资源容器,运行任务,跟踪应用程序的状态和监控它们的进程,处理任务的失败原因。
NodeManager(节点管理器):
是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况 (CPU,内存,硬盘,网络 ) 并且向调度器汇报。
相互之间的关系:
ApplicationMaster 结合从 ResourceManager 获得的资源和 NodeManager 协同工作来运行和监控任务。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Yarn配置文件的变动:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考归纳自:http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/