MapRdeuce&Yarn的工作机制(YarnChild是什么)

                                          MapRdeuce&Yarn的工作机制

一幅图解决你所有的困惑


那天在集群中跑一个MapReduce的程序时,在机器上jps了一下发现了每台机器中有好多个YarnChild。困惑什么时YarnChild,当程序跑完后就没有了,神奇。后来百度了下,又问问了别的大佬。原来是这样

什么是YarnChild:

答:MrAppmaster运行程序时向resouce manager 请求的maptask/reduceTask。也是运行程序的容器。其实它就是一个运行程序的进程。

图解说下:

hadoop1版本的MapRdeuce&Yarn的工作机制

        1.客户端发来request。JobTracker接受request。

        2.JobTracker将客户端发来的request任务分配给TaskTracker

        3.然后TaskTracker生成maptask运行程序

        4.JobTracker不仅要负责资源调度,还要负责监控应运运算流程。

       缺点:耦合的高,当JobTracker死掉时,所有的客户端的请求任务都会死掉,而hadoop2则避免了这个问题,它中的对象多,但都各司其职,耦合的低,运行效率快。

hadoop2版本的MapRdeuce&Yarn的工作机制

        1.客户端发出请求,YARNRUNNER接受,生成一个代理对象,向resource manager请求一个application

        2.resource manager返回application的提交路径和application_id(这里使用id是应为可能有多个任务用id来区别)

        3.YARNRUNNER向hdfs提交job运行所需要的文件(application,job.split,job,.xml,job.jar)

        4.向resource manager 报告提交完成,申请一个mrAppMaster

        5.将用户的请求初始化成一个task,将task放到队列中,等待node manager来领取task任务。(这其中使用了调度策略,节约资源,如:Fair Capacity等等)

        6.node manager领取到任务,

        7.生成一个Container,然后在hdfs中下载运行资源。

        8.向resource manager申请运行maptask的容器(带着任务,split,运行资源.的元数据..)

        9.其他的node manager领取到resouce manager的任务,创建容器,此时的Container则是YarnChild,也是maptask,然后maptask在hdfs下载所要运行的资源。

        10.MrAppMaster发送程序脚本运行jar,当maptask中的程序运行完成后,maptask的资源被resource manager回收了,但跑完的资源在node manager中。

        11.当maptask运行完成后MRAppmaster又向resorce manager申请 reduce task(至于它申请多少个是由它有多少个map task决定的),然后根据忙于不忙node manager领取任务.创建container,

        12.redcuetask 向map获取相应分区的数据资源,运行文件。

        13.application运行完毕后MrAppmaster会向resource manager注销自己

        

总结:Yarn:资源调度系统(jar/xml/cpu/IO)

            负责程序运行所需资源的分配回收等任务调度,于程序运行内部即使完全无关,所以yarn只是一个寺院调度平台,mapreudce 则是一个运行技术框架,那别的运算框架也可以使用yarn,如:spark/storm/flink....

        

转载于:https://www.cnblogs.com/meiLinYa/p/9302995.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值