【Yarn】工作机制及任务提交流程

本文以mr程序为例,解释yarn的工作机制及任务提交流程:在这里插入图片描述
0. mr程序提交任务到客户端所在节点;
1.节点上的YarnRunner向ResourceManager申请一个Application;
2. ResourceManager会把Application资源路径及application_id返回YarnRunner;
3. 该程序将job运行所需资源提交到HDFS;
4. 资源提交完毕后,向ResourceManager申请运行mrAppMaster;
5. ResourceManager将用户请求初始化为1个task;
6. 某个NodeManager领取到task任务;
7. 此NodeManager在节点上创建容器Container,并生成mrAppMaster;
8. Container从HDFS上拷贝job资源到本地;
9. mrAppMaster向ResourceManager申请运行job的MapTask资源;
10.ResourceManager将运行任务分配给其他NodeManager,NodeManager领取到任务后创建容 器Container;
11.mrAppMaster分别向接收到任务的NodeManager发送mr程序启动脚本,NodeManager在节点上生成MapTask,对数据进行计算;
12.mrAppMaster等待所有MapTask运行完毕后,向ResourceManager申请容器,运行ReduceTask;
13.ReduceTask向MapTask获取相应分区数据,并进行计算;
14.程序运行结束后,mrAppMaster向ResourceManager申请注销自己;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章