Yarn資源調(diào)度器

目前,Hadoop作業(yè)調(diào)度器主要有三種, 分別是:FIFO,Capacity Schedule(容量調(diào)度器),F(xiàn)air Schedule(公平調(diào)度器)。
Hadoop2.7.2默認的資源調(diào)度器是Capacity Scheduler。
具體設(shè)置詳見:yarn-default.xml文件

<property>
    <description>The class to use as the resource scheduler.</description>
    <name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
  1. 先進先出調(diào)度器(FIFO),按照到達時間先到服務(wù)。


    FIFO調(diào)度器.jpg
  2. Capacity Schedule(容量調(diào)度器)


    容量調(diào)度器.jpg
  • 支持多個隊列,每個隊列可配置一定的資源量,每個隊列采用FIFO調(diào)度策略。
  • 為了防止同一個用戶的作業(yè)獨占隊列中的資源,該調(diào)度器會對同一用戶提交的作業(yè)所占資源量進行限定。
  • 首先,計算每個隊列中正在運行任務(wù)數(shù)與其應(yīng)該分得的計算資源之間的比值,選擇一個比值最小的隊列(最閑的隊列)。
  • 其次,按照作業(yè)的優(yōu)先級和提交時間順序,同時考慮用戶資源限制和內(nèi)存限制對隊列內(nèi)任務(wù)排序。
  • 三個隊列同時按照任務(wù)的先后順序一次執(zhí)行,比如,job11,job21和job31分別排在隊列的最前面,先運行,也是并行運行。
  1. Fair Schedule(公平調(diào)度器),按照缺額排序,缺額大的優(yōu)先。


    公平調(diào)度器.jpg
  • 支持多隊列多用戶,每個隊列中的資源可以配置,同一隊列中的作業(yè)公平共享隊列中所有的資源,比如有三個隊列,每個隊列中的job按照優(yōu)先級分配資源,優(yōu)先級越高分配的資源越多,但是每個job都會分配到資源以確保公平。
  • 在資源有限的情況下,每個job理想情況下獲得的計算資源與實際獲得的計算資源存在一種差距,這個差距就叫做缺額。
  • 在同一個隊列中,job的資源缺額越大,越先獲得資源優(yōu)先執(zhí)行。作業(yè)是按照缺額的高低來先后執(zhí)行的,而且可以看上圖有多個作業(yè)同時運行。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容