YARN资源管理和调度简介

1、运行在YARN上的MapReduce应用程序

YARN资源管理和调度简介_第1张图片

2、运行在YARN上的Storm应用程序

YARN资源管理和调度简介_第2张图片

3、YARN应用程序基本构成

①客户端 :

主要作用是提供一系列访问接口供用户与YARN交互,包括提交Application、查询Application运行状态,修改Application属性(比如优先级)等。
②ApplicationMaster:
 向ResourceManager申请资源(以Container形式表示);
 与NodeManager通信以启动各个Container(Task);
 监控各个任务运行状态,并在失败时为其重新申请资源。

4、以MapReduce应用程序为例

MapReduce客户端:
 将MapReduce作业提交到YARN上;
 查询MapReduce作业运行状态;
 管理MapReduce作业,比如杀死MapReduce作业,修改其优先级等。

 ApplicationMaster(MRAppMaster):
 根据描述,将作业分解成Map Task和Reduce Task;
 向ResourceManager为Map/Reduce Task申请资源;
 与NodeManager通信以启动Task;
 监控各个任务运行状态,并在失败时为其重新申请资源。

5、MapReduce On YARN和MapReduce 程序区别

MapReduce On YARN(由专业人员开发):
 为MapReduce作业运行在YARN上提供跟一个通用的运行时环境;
 需要与YARN的各个服务交互,完成较为复杂的功能;
 由客户端和ApplicationMaster两部分组成。
MapReduce程序(由普通用户开发):
 用户使用编程API(包括新旧两种)编写的应用程序;
 由Mapper、Reducer、Combiner等组件构成;
 程序提交到YARN上后,将由已经写好的ApplicationMaster服务对其进行分解和调度。

6、YARN应用程序开发流程-以MapReduce应用程序为例

YARN资源管理和调度简介_第3张图片



你可能感兴趣的:(hadoop)