[YARN]Apache Hadoop 2.2.0YARN技术架构[翻译]

YARN架构

MapReduce在Hadoop0.23的时候做了很大的改动,我们称之为MRv2或者YARN。

MRv2的主要观点是把JobTracker,资源管理,任务调度执行功能拆分成几个独立的进程。也就是说有一个全局的RM和AM,一个应用程序是一个独立的job或者一组job。

ResourceManager ,每个从节点,NodeManager 组成了一个数据计算框架,ResourceManager 负责协调整个系统的所有应用程序的资源。

每个应用程序的ApplicationMaster实际上是一个负责跟ResourceManager 协商资源,和NodeManager一起执行和监控任务的框架。



ResourceManager 拥有两大主要组件:Scheduler and ApplicationsManager。

Scheduler负责给所有的运行的应用程序分配资源,受制于容量和队列等。Scheduler仅仅是调度而不关心应用程序的状态监控跟踪。也不保证失败任务和应用失败以及硬件失败。仅仅关心应用程序的资源需求,是一个抽象的资源容器,包括内存,cpu,硬盘,网络等元素。第一个版本中只支持内存。

Scheduler是插件化的负责在各种队列和应用程序直接隔离集群资源,现在的MR调度机制包括CapacityScheduler 和FairScheduler都是插件化的。

CapacityScheduler支持层次队列,支持共享集群资源。

ApplicationsManager 负责接收任务提交,协调容器去执行应用尤其ApplicationMaster ,同时当ApplicationMaster 失败了提供重启服务。

NodeManager 在每个节点上都有,负责容器,监控资源使用情况,上报状态信息到ResourceManager/Scheduler。

每个应用的ApplicationMaster 用于协调从Scheduler资源容器,状态跟踪监控。

MRv2兼容以前稳定版本(hadoop-0.20.205),也就是说所有的MR任务在MRv2中不需要做任何修改只需要重编译即可运行。

 

猜你喜欢

转载自snv.iteye.com/blog/1982590
今日推荐