YARN集群工做机制

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

    优势:框架

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

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

    工做机制:orm

    

(图摘自官网,官网的图看起来很是复杂,我我的看着是很费劲)接口


    Yarn集群的工做机制:   资源

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

    一、任务执行前:      
ast

        1.一、向Yarn集群中提交job做业首先交给RM集群

        1.二、RM返回job_id和job相关的资源路径

        1.三、得到资源路径后往HDFS上传job

        1.四、通知RM,job上传完毕

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

        1.六、将job任务加入到任务列表(task list)

        1.七、NodeManager(如下简称NN)会周期性向RM保持心跳通讯,而后检查是否有须要本身领取的任务

        1.八、NN一旦检查到须要本身领取的任务时,就领取任务

        1.九、领取到任务以后会根据job资源信息分配必定大小的资源容器

        1.十、下载job资源到容器

    二、执行任务:

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

        2.一、启动MRAppMaster,(RM会根据状况在某个NN节点启动)

        2.二、MRAppMaster向RM注册

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

        2.四、启动各个NN节点的Reduce Task

        2.五、当任务执行完毕后向RM发起注销操做,销毁本身

以上就是整个Yarn集群的工做机制

相关文章
相关标签/搜索