YARN提交MR程序流程以及MR调优

本文详细介绍了YARN提交MapReduce作业的全过程,包括YARN的工作机制、MapReduce工作流程、Shuffle机制和MapTask、ReduceTask的工作细节。重点阐述了Shuffle的缓冲区大小对性能的影响,以及MapReduce的优化方法,如数据输入、Map和Reduce阶段、IO传输和参数调优。同时,讨论了HDFS小文件的问题及其解决方案。
摘要由CSDN通过智能技术生成

YARN提交MR程序流程

YARN主要由ResourceManagerNodeManagerApplicationMasterContainer等组件构成,如图4-23所示。

图4-23 Yarn基本架构

Yarn工作机制

1.Yarn运行机制,如图4-24所示。

 

图4-24  Yarn工作机制

2.工作机制详解

        1MR程序提交到客户端所在的节点。

        2YarnRunnerResourceManager申请一个Application

        3RM将该应用程序的资源路径返回给YarnRunner

        4)该程序将运行所需资源提交到HDFS上。

        5)程序资源提交完毕后,申请运行mrAppMaster

        6RM将用户的请求初始化成一个Task

        7)其中一个NodeManager领取到Task任务。

        8)该NodeManager创建容器Container,并产生MRAppmaster

        9MRAppmasterHDFS上拷贝资源到本地。

        10MRAppmasterRM 申请运行MapTask资源。

        11RM将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。

        12MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTaskMapTask对数据分区排序。

13MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask

        14ReduceTaskMapTask获取相应分区的数据。

        15)程序运行完毕后,MR会向RM申请注销自己。

5.4 作业提交全过程

1.作业提交过程之YARN,如图4-25所示。

 

图4-25 作业提交过程之Yarn

作业提交全过程详解

1)作业提交

1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。

2步:ClientRM申请一个作业

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值