Hadoop原理与机制4-1:YARN工作机制

本文详细介绍了YARN上MapReduce作业的工作流程,包括作业提交、初始化、任务分配、任务运行、进度和状态更新以及作业完成的各个阶段。重点讨论了JobTracker如何管理MapTask和ReduceTask的执行,以及客户端如何获取作业进度和状态信息。
摘要由CSDN通过智能技术生成
  • 1 工作机制

  1. MapReduce程序提交到客户端所在的节点。
  2. YARN Runner向ResourceManager申请一个Application。
  3. RM将该应用程序的资源路径返回给YARN Runner。
  4. 该程序将运行所需资源提交到HDFS上。
  5. 程序资源提交完毕后,申请运行mrAppMaster。
  6. ResourceManager将用户的请求初始化成一个Task。
  7. 其中一个NodeManager领取到Task任务。
  8. 该NodeManager创建容器Container,并产生MRAppmaster。
  9. Container从HDFS上拷贝资源到本地。
  10. MapReduce Appmaster向ResourceManager申请运行maptask资源。
  11. ResourceManager将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。
  12. MapReduce向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据分区排序。
  13. MrAppMaster等待所有maptask运行完毕后,向RM申请容器,运行Reduce task。
  14. Reduce Task向MapTask获取相应分区的数据。
  15. 程序运行完毕后,MapReduce会向ResourceManager申请注销自己。

  • 2 作业提交全过程

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

    2. client向ResourceManager申请一个作业id。

    3. ResourceManager给client返回该job资源的提交路径和作业id。

    4. client提交jar包、切片信息和配置文件到指定的资源提交路径。

    5. client提交完资源后,向RM申请运行MapReduce AppMaster。

  2. 作业初始化
    1. 当ResourceManager收到client的请求后,将该job添加到容量调度器中。

    2. 某一个空闲的NodeManager领取到该job。

    3. 该NodeManager创建Container,并产生MapReduce Appmaster。

    4. 下载client提交的资源到本地。

  3. 任务分配
    1. MapReduce Appmaster向ResourceManager申请运行多个MapTask任务资源。
    2. ResourceManager将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。
  4. 任务运行

    1. MapReduce 向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapYask,MapTask对数据分区排序。

    2. MrAppMaster等待所有MapTask运行完毕后,向ResourceManager申请容器,运行ReduceTask。

    3. ReduceTask向MaTask获取相应分区的数据。

    4. 程序运行完毕后,MapReduce 会向ResourceManager申请注销自己。

  5. 进度和状态更新

    1. YARN中的任务将其进度和状态(包括counter)返回给应用管理器, 客户端每秒(通过mapreduce.client.progressmonitor.pollinterval设置)向应用管理器请求进度更新, 展示给用户。

  6. 作业完成

    1. 除了向应用管理器请求作业进度外, 客户端每5分钟都会通过调用waitForCompletion()来检查作业是否完成。时间间隔可以通过mapreduce.client.completion.pollinterval来设置。作业完成之后, 应用管理器和container会清理工作状态。作业的信息会被作业历史服务器存储以备之后用户核查。

  • 3 HDFS与MapReduce之间的作业提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值