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集羣的工做機制

相關文章
相關標籤/搜索