MapReduce On YARN

MapReduce计算框架框架

将计算过程分为两个阶段:Map和Reducespa

  Map阶段并行处理输入数据;blog

  Reduce阶段对Map结果进行汇总资源

Shuffle链接Map和Reduce两个阶段it

  Map Task将数据写到本地磁盘;io

  Reduce Task从每一个Map Task上读取一份数据;ast

仅适合离线批处理监控

  具备较好的容错性和扩展性;原理

  适合批处理任务;扩展

缺点:

  启动Map/Reduce任务开销大、过多使用磁盘致使IO频繁等;

 

MapReduce On YARN(MRv2)

YARN负责资源管理和调度;ApplicationMaster负责任务管理;

MRAppMaster任务调度:

1)YARN将资源分配给MRAppMaster;

2)MRAppMaster进一步将资源分配给内部的任务;

 

MRAppMaster容错:

1)MRAppMaster失败后,由YARN从新启动;

2)任务失败后,MRAppMaster从新申请资源;

 

MapReduce On YARN工做原理

1)用户向YARN中提交应用程序/做业,其中包括ApplicaitonMaster程序、启动ApplicationMaster的命令、用户程序等;
2)ResourceManager为做业分配第一个Container,并与对应的NodeManager通讯,要求它在这个Containter中启动该做业的ApplicationMaster;

3)ApplicationMaster首先向ResourceManager注册,这样用户能够直接经过ResourceManager查询做业的运行状态;而后它将为各个任务申请资源并监控任务的运行状态,直到运行结束。即重复步骤4-7;

4)ApplicationMaster采用轮询的方式经过RPC请求向ResourceManager申请和领取资源;

5)一旦ApplicationMaster申请到资源后,便与对应的NodeManager通讯,要求它启动任务;

6)NodeManager启动任务;

7)各个任务经过RPC协议向ApplicationMaster汇报本身的状态和进度,以让ApplicaitonMaster随时掌握各个任务的运行状态,从而能够在任务失败时从新启动任务;
在做业运行过程当中,用户可随时经过RPC向ApplicationMaster查询做业当前运行状态;

8)做业完成后,ApplicationMaster向ResourceManager注销并关闭本身;

相关文章
相关标签/搜索