YARN集群工作机制是什么

这篇文章主要讲解了“YARN集群工作机制是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“YARN集群工作机制是什么”吧!

    描述:YARN是Hadoop2.0加入一个资源调度框架,它同样是主从节点架构:ResouceManager(资源管理)和NodeManager。

    优点:

    1、资源调度和任务监控分离,解决JobTracker的瓶颈(压力、单点故障)

    2、通用的资源调度平台,兼容更多运算框架(storm/spark/mapreduce

    工作机制:

    

(图摘自官网,官网的图看起来非常复杂,我个人看着是很费劲)

    Yarn集群的工作机制:   

    了解Yarn工作机制前先要知道ResourceManager(以下简称RM)是一个资源任务调度器,负责任务资源的分配工作。

    1、任务执行前:      

        1.1、向Yarn集群中提交job作业首先交给RM

        1.2、RM返回job_id和job相关的资源路径

        1.3、获得资源路径后往HDFS上传job

        1.4、通知RM,job上传完毕

        1.5、RM收到job提交完毕后会将job任务初始化

        1.6、将job任务加入到任务列表(task list)

        1.7、NodeManager(以下简称NN)会周期性向RM保持心跳通信,然后检查是否有需要自己领取的任务

        1.8、NN一旦检查到需要自己领取的任务时,就领取任务

        1.9、领取到任务之后会根据job资源信息分配一定大小的资源容器

        1.10、下载job资源到容器

    2、执行任务:

        Yarn提供了AppMaster接口,AppMaster主要对任务进行监控和调度,RM只管理AppMaster,一旦AppMaster挂了,就会在其他NN节点上重新启动,这样一来RM的压力就降低了(对比Hadoop1.0的JobTracker),运算框架只要实现该接口即可在Yarn集群上面运行,这也是Yarn集群的第二个好处,兼容更多的运算框架Spark/Storm/MapReduce等都实现了该接口,MapReduce实现的接口为MRAppMaster

        2.1、启动MRAppMaster,(RM会根据情况在某个NN节点启动)

        2.2、MRAppMaster向RM注册

        2.3、MRAppMaster根据RM提供的信息启动各个NN节点的Map Task

        2.4、启动各个NN节点的Reduce Task

        2.5、当任务执行完毕后向RM发起注销操作,销毁自己

感谢各位的阅读,以上就是“YARN集群工作机制是什么”的内容了,经过本文的学习后,相信大家对YARN集群工作机制是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云搜网,小编将为大家推送更多相关知识点的文章,欢迎关注!