美文网首页
MapReduce on Yarn流程

MapReduce on Yarn流程

作者: 吃货大米饭 | 来源:发表于2019-07-11 10:51 被阅读0次
    2019-07-11_104911.png

    1.用户向yarn提交job,其中包含application master程序,启动application master的命令等
    2.RM为该job分配第一个container,与对应的NM通信,要求它在这个container启动作业的application master
    3.application master向applications manager注册,这样用户就可以通过RM Web
    查看job的状态,一直到最后
    4.application master采用轮询的方式通过RPC协议向resource scheduler
    申请和领取资源
    5.一旦application master申请到资源后,与对应的NM通信,要求启动task
    6.NM为任务设置好运行环境后,将任务的启动命令写到一个脚本中,
    并通过该脚本启动任务 运行任务
    7.各个任务 task 通过rpc协议汇报自己的状态和进度,
    以让application master随时掌握各个任务的运行状态,从而在任务失败时,
    重启启动任务。
    8.job运行完成后,application master向applications manager注销并关闭自己。

    总结:
    两个阶段:
    1.启动Application Master (1、2、3)

    2.Application Master 申请资源,运行task,监控task,直到任务运行完成(4、5、6、7、8)

    当一个用户提交一个Jar包,到你的RM中的AM,当AM获得Jar包信息后,和其中的一台NM进行通信,就要起一个容器,这个容器运行的是MR的AM,当AM启动之后向RM中的AM进行注册,注册后我们才能通过URL界面:8088,查看作业资源的情况,然后AppMaster向RS去申请资源,资源申请后以后向NodeManager进行通信,告诉它运行多少个容器,运行什么样的任务,NodeManager为任务设置好运行环境,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务,Reduce Task启动之后,会实时和MR App Master汇报自己的状态和任务进度,成功失败等等,当所有的Tas运行完了,ApplicationMaster向ResourceManager注销并关闭自己。

    相关文章

      网友评论

          本文标题:MapReduce on Yarn流程

          本文链接:https://www.haomeiwen.com/subject/xlfrkctx.html