您的位置:首页 > 运维架构 > Apache

Apache Hadoop NextGen MapReduce (YARN) 2.6(翻译自官方)

2015-01-03 18:42 344 查看
1.先翻译:来自于http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

 

MapReduce自从hadoop-0.23经历了一次重构,我们现在称之为MapRecuce2.0(MRv2)或者YARN.

MRv2的基本理念就是分解JobTracker的基本功能,分别是资源管理和任务的调度和监控。MRV2将这两个功能分解成独立的守护线程。该理念拥有一个全局资源管理器(RM),和每一个应用一个应用宿主(AM).一个应用指的是经典MapReduce的一个job(任务)或者任务列表的DAG.(有向无环图)

全局资源管理器和每个从节点的节点管理器(NM)构成了数据计算框架。全局管理器决定了系统中所有应用的资源分配。

每个应用的ApplicationMaster效果上是一个特定的框架实现库,它的任务是和ResourceManager全局资源管理器协调沟通资源,与NodeManager节点管理器配合执行和监控任务。



全局管理器有两个主要组件:Scheduler(调度器)和ApplicationsManage(全应用管理器)

调度器负责向不同应用分配资源,这些应用受制于相同容量、队列限制。调度器只负责调度不负责监控也不负责追踪应用的状态。同样,它不保证重启由于应用错误或硬件戳无而失败的任务。调度器基于各应用实际需求执行调度资源功能,它同样基于一个成为Container的抽象概念,该概念代表了内存,cpu,硬盘,网络等合成在一起的概念。第一版里支持内存。

调度器策略可插拔。该策略负责在不同的队列或应用中分配资源。当前策略主要包括 CapacityScheduler 和FairScheduler

 CapacityScheduler支持 hierarchical queues对集群的资源更具有预测性。

 

ApplicatiionsManager负责接收提交的任务(job),与执行特定应用ApplicationMaster的第一个容器沟通协调,并且提供失败情况下的重启容器的服务

NodeManger是在每台电脑一个框架代理,是执行应用程序的容器。 监控资源利用情况(cpu,内存,硬盘,网络情况)等并同时报告给ResourceManager/Scheduler

每个应用的ApplicationMaster负责与scheduler协调沟通合适的资源,跟踪状态,监控进展。

 2.再分析

 参考http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/

http://www.csdn.net/article/2013-06-27/2816031-hadoop-yarn

 上文中涉及到五个概念,前三个。ResourceManager(RM),NodeManager(NM),ApplicationMaster(AM)

                                        其中,RM又分为Scheduler和ApplicationsManager(APSM)

                                        Master服务器上RM。也就是Scheduler和ApplicationsManager.

                                                                     Scheduler:协调分配资源;

                                                                     ApplicationsManger:接收客户端任务,将应用程序分配给具体的ApplicationMaster。重启AM服务。

                                        slave机器上,NM三个职能,是资源容器,监控本地资源,并 向RM的Scheduler汇报工作

                                                              AM.两个职能,代表本地应用与RM的Scheduler沟通协调资源,跟踪记录本地任务不同状态和进展

                                      上图中产生了四个Container,两个ApplicationMaster,三个NodeManager.其中一个AM与三个Container打交道,两一个AM和一个Container打交道。除一个NodeManager包含两个Container外,另外都是一对一.同一台slave上的AM和NM可能针对不同的Container

                                      

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: