yarn筆記——資源調度器區別

    公司裏維護的hadoop是cdh版本,yarn資源調度器默認使用fair scheduler,最近在對接華爲fushioninsight平臺,該平臺中的yarn使用的capacity scheduler。好奇這兩種調度類型的區別,經過hadoop權威指南和網上現有的博客,做如下整理

Fair scheduler與capacity scheduler的區別

相同點
    兩種調度器,層次化隊列的方式呈現,實現了資源的隔離。

不同點
1、 capacity通過百分比來劃分集羣的資源;fair scheduler通過設定具體使用資源值(CPU、memory)來限定。
2、 capacity scheduler隊列中的job,就是按照FIFO方式來運行;fair scheduler,可以通過fair-scheduler.xml中的defaultqueueschedulerpolicy標籤來指定每個隊列的調度策略(fair、fifo、drf)。
3、 當大job在執行時,又提交一個小job,fair scheduler會盡快騰出“空間”給小job運行。而capacity scheduler情況下,會等大job執行完畢,才執行小job。
4、 capacity scheduler的隊列是彈性隊列,可以設定彈性的最大百分比。
5、 fair scheduler支持搶佔機制,capacity scheduler不支持

附帶記錄一下yarn提交任務粗略的過程:

1、client將應用提交給resourcemanager,resourcemanager收到請求,返回applicationid
2、client向rm申請啓動applicationmaster
3、yarn選擇一個nodemanager啓動am
4、am啓動後,向rm申請具體任務資源(container)
5、根據yarn設定的調度策略,在nodemanager節點上啓動container
6、container啓動完畢,並向am彙報

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章