yarn的架构设计

注释:

mr job执行流程
mr on yarn架构
yarn架构设计

这三种叫法是同一个问题

YARN =Yet Another Resource Negotiator

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,为它上去
资源,并监控它的整个运行过程,直到运行完成。

shuffle的过程可以查看博客:https://www.cnblogs.com/ahu-lichang/p/6645074.html

原文地址:https://www.cnblogs.com/xuziyu/p/10448509.html