《Hadoop与大数据挖掘》2.1.4Hadoop资源管理—YARN
华章计算机 | 2017-07-14 11:35
【数据猿导读】 ResourceManager是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationManager,AM)。
![《Hadoop与大数据挖掘》2.1.4Hadoop资源管理—YARN](/u/cms/www/201707/1411244984b1.jpg)
本节书摘来华章计算机《hadoop与大数据挖掘》一书中的第2章 ,第2.1.4节,张良均 樊 哲 位文超 刘名军 许国杰 周 龙 焦正升 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.1.4 Hadoop资源管理—YARN
在上一节中我们看到,当MapReduce发展到2.x时就不使用JobTracker来作为自己的资源管理框架,而选择使用YARN。这里需要说明的是,如果使用JobTracker来作为Hadoop集群的资源管理框架的话,那么除了MapReduce任务以外,不能够运行其他任务。也就是说,如果我们集群的MapReduce任务并没有那么饱满的话,集群资源等于是白白浪费的。所以提出了另外的一个资源管理架构YARN(Yet Another Resource Manager)。这里需要注意,YARN不是JobTracker的简单升级,而是“大换血”。同时Hadoop 2.X也包含了此架构。Apache Hadoop 2.X项目包含以下模块。
Hadoop Common:为Hadoop其他模块提供支持的基础模块。
HDFS: Hadoop:分布式文件系统。
YARN:任务分配和集群资源管理框架。
MapReduce:并行和可扩展的用于处理大数据的模式。
如图2-10所示,YARN资源管理框架包括ResourceManager(资源管理器)、Applica-tionMaster、NodeManager(节点管理器)。各个组件描述如下。
(1)ResourceManager
ResourceManager是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationManager,AM)。
Scheduler负责分配最少但满足Application运行所需的资源量给Application。Scheduler只是基于资源的使用情况进行调度,并不负责监视/跟踪Application的状态,当然也不会处理失败的Task。
ApplicationManager负责处理客户端提交的Job以及协商第一个Container以供App-licationMaster运行,并且在ApplicationMaster失败的时候会重新启动ApplicationMaster(YARN中使用Resource Container概念来管理集群的资源,Resource Container是资源的抽象,每个Container包括一定的内存、IO、网络等资源)。
(2)ApplicationMaster
ApplicatonMaster是一个框架特殊的库,每个Application有一个ApplicationMaster,主要管理和监控部署在YARN集群上的各种应用。
(3)NodeManager
主要负责启动Resourcemanager分配给ApplicationMaster的Container,并且会监视Container的运行情况。在启动Container的时候,NodeManager会设置一些必要的环境变量以及相关文件;当所有准备工作做好后,才会启动该Container。启动后,NodeManager会周期性地监视该Container运行占用的资源情况,若是超过了该Container所声明的资源量,则会kill掉该Container所代表的进程。
来源:华章计算机
我要评论
活动推荐more >
- 2018 上海国际大数据产业高2018-12-03
- 2018上海国际计算机网络及信2018-12-03
- 中国国际信息通信展览会将于2018-09-26
- 第五届FEA消费金融国际峰会62018-06-21
- 第五届FEA消费金融国际峰会2018-06-21
- “无界区块链技术峰会2018”2018-06-14