首页 > 其他 > 详细

MapReduce on yarn的流程

时间:2021-05-04 13:58:44      阅读:12      评论:0      收藏:0      [点我收藏+]

MapReduce on yarn的流程

技术分享图片

1、准备阶段

1、客户端执行写好的jar包程序

2、客户端通过RPC调用YarnRunnable.getNewJobID()得到新的job id

3、然后检查我们的输出路径是不是存在的(存在的话就会报错)

4、然后再计算分片,看是否可以计算出分片信息(都没问题的话就往下继续)

5、将当前应用对应的信息(jar包,job的配置信息,分片信息)提交到hdfs://.../staging/application_id下面

6、客户端通过RPC的方式调用 YarnRunner.submit()方法把job提交到resourceManager下申请运行

2、运行阶段

1、job请求会转换为 MR AppMaster请求

2、MR AppMaster请求会提交到scheduler里面,由scheduler分配容器

3、给Appmaster申请容器(在哪个NameNode上,分配几个核心,几个cpu,多少内存)

4、在NodeManager中启动一个MR AppMaster(这个创建薄记对象,用于保存各task执行进度。状态)

5、然后获取分片信息、配置信息、split个数,每个split所在节点的reduce个数
6、正常执行MapReduce,获得分区数据

7、拉去Reduce Task程序,有几个分区就有几个Reduce Task程序

8、等待执行结束

3、结束阶段

1、将结果写入HDFS,一个reduce Task写入一个文件中,名称为part-r-00000,part-r-00001

MapReduce on yarn的流程

原文:https://www.cnblogs.com/huangwenchao0821/p/14729057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!