MapReduce on Yarn 的流程和架构图

Yarn:

job app application 都指的是作业

ResourceManager 资源作业管理者
Applications Manager 所有的作业管理
Resource Scheduler 资源调度

NodeManager 节点者

MapReduce on Yarn 的流程

**1.**用户向yarn提交应用程序(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个阶段:
2.1 启动applicationMaster
2.2 由applicationMaster创建job,为它上去
资源,并监控它的整个运行过程,直到运行完成。

架构图:

MapReduce on Yarn 的流程和架构图_第1张图片

你可能感兴趣的:(MapReduce on Yarn 的流程和架构图)