Mapreduce(MR on yarn 架构详解与shuffle剖析)

MapReduce
分布式计算框架 ,其中Map指映射元素的个数,Reduce指归约。

MR on yarn 架构

在这里插入图片描述

流程详解
1)用户向yarn rm apps manager提交作业(job),其中包括applicationMaster程序、、启动applicationMaster命令等。

2)RM为该job分配第一个容器,并与对应的NM通信,要求它运行这个容器并在这个容器中去启动该job的MR applicationMaster程序。

3)applicationMaster首先向Applications Manager注册,用户就可以直接在web界面查看job的整个运行状态和日志。

4)applicationMaster向Resource Scheduler 采用轮询的方式通过RPC协议去申请和领取资源列表

5)一旦applicationMaster申请到资源的后,便与对应的NM节点通信,要求启动任务。

6)NM为任务task设置好运行环境(环境变量、jar包等),将任务的启动命令写在一个脚本文件中,并通过这个脚本【启动任务】;

7)各个task通过rpc向applicationMaster汇报自己的状态和进度。以让applicationMaster随时掌握各个任务的运行状态,从而可以在任务运行时重新启动任务。则web界面可以实时查看job的当前的运行状态。

8)job运行完成后,applicationMaster向RM注销并关闭自己。

2个阶段:

第一阶段:启动applicationMaster
第二阶段:由applicationMaster创建job,为它上去
资源,并监控它的整个运行过程,直到运行完成。

Shuffle剖析

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43212365/article/details/88609547