标签:Task 流程 MR MapReduce yarn job 分片 AppMaster
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
标签:Task,流程,MR,MapReduce,yarn,job,分片,AppMaster 来源: https://www.cnblogs.com/huangwenchao0821/p/14729057.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。