yarn的排程模式詳解

2021-10-01 13:20:41 字數 1152 閱讀 4345

1:apache hadoop2.x的預設排程器是capacity scheduler(計算排程器)

2:cdh的預設排程器是fair scheduler

在yarn中有三種排程器可以選擇:fifo scheduler ,capacity scheduler,fairscheduler。

fifo scheduler把應用按提交的順序排成乙個佇列,這是乙個先進先出佇列,在進行資源分配的時候,先給佇列中最頭上的應用進行分配資源,待最頭上的應用需求滿足後再給下乙個分配,以此類推。

fifo scheduler是最簡單也是最容易理解的排程器,也不需要任何配置,但它並不適用於共享集群。大的應用可能會占用所有集群資源,這就導致其它應用被阻塞。在共享集群中,更適合採用capacity scheduler或fair scheduler,這兩個排程器都允許大任務和小任務在提交的同時獲得一定的系統資源。從圖中可以看出,在fifo 排程器中,小任務會被大任務阻塞。

而對於capacity排程器,有乙個專門的佇列用來執行小任務,但是為小任務專門設定乙個佇列會預先占用一定的集群資源,這就導致大任務的執行時間會落後於使用fifo排程器時的時間。

在fair排程器中,我們不需要預先占用一定的系統資源,fair排程器會為所有執行的job動態的調整系統資源。如上圖所示,當第乙個大job提交時,只有這乙個job在執行,此時它獲得了所有集群資源;當第二個小任務提交後,fair排程器會分配一半資源給這個小任務,讓這兩個任務公平的共享集群資源。

需要注意的是,在上圖fair排程器中,從第二個任務提交到獲得資源會有一定的延遲,因為它需要等待第乙個任務釋放占用的container。小任務執行完成之後也會釋放自己占用的資源,大任務又獲得了全部的系統資源。最終的效果就是fair排程器即得到了高的資源利用率又能保證小任務及時完成。

YARN排程器詳解

一.先介紹下yarn有哪些排程器 fifo 先進先出 capacity 計算 fair 公平 二.這些排程器有什麼差異 fifo 意思就是誰的job先執行就會占用當前的所有資源,直到這個job執行結束之後才會執行下乙個job,再生產上面不推薦,因為如果我凌晨一點執行了乙個大型的job需要跑四個小時才...

YARN的排程器

yarn主要就是為了排程資源,管理任務等。resourcemanager yarn上主節點,接收客戶端提交的任務,對資源進行分配 nodemanager yarn上從節點,主要進行任務計算 jobhistoryserver 檢視已經完成的任務歷史日誌記錄的服務 timelineserver hado...

yarn的排程策略

無論先進先出排程器,容量排程器,還是公平排程器,他們的核心 資源分配模型是一樣的。排程器維護著多個佇列的資訊,使用者可以向任意乙個或多個佇列提交job。每次nodemanager向resourcemanager傳送心跳時,排程器都會選擇乙個佇列,再在佇列上選擇乙個應用,然後嘗試在這個應用上分配資源。...