Yarn中調度器介紹

Yarn中主要包含3中調度器,F(xiàn)IFO Scheduler(先進先出調度器),Capacity Scheduler(容量調度器),F(xiàn)air Scheduler(公平調度器)

  1. FIFO Scheduler,單隊列調度器,也就是說單一隊列使用集群全部資源,應用作業(yè)在隊列中按照先進先出的順序執(zhí)行。

FIFO Scheduler 是最簡單也是最容易理解的調度器,但是該調度器不適合共享集群,大的作業(yè)可能占用了所有的集群資源,導致后續(xù)的小應用作業(yè)處于阻塞狀態(tài)而無法運行。


  1. Capacity Scheduler,多隊列調度器,通過多個隊列共享使用集群資源的容量調度器。

Capacity Scheduler 調度器適用于共享集群,可以設置多個隊列來執(zhí)行作業(yè),隊列之間共享集群資源,隊列內部作業(yè)采用FIFO的方式執(zhí)行??梢詾槊總€隊列設置資源使用的范圍,如果一個隊列的資源沒有使用完,可以被其他隊列共享使用,隊列與隊列之間的資源管理是平行的關系。


  1. Fair Scheduler,多隊列調度器,通過多個隊列共享使用集群資源。

Fair Scheduler 調度器適用于共享集群,隊列內部默認平分資源,隊列之間共享資源也可以設置一定的比例。


  1. Fair Scheduler與Capacity Scheduler區(qū)別

  1. 資源公平共享:在每個隊列中,F(xiàn)air Scheduler可選擇按照FIFO、Fair或DRF策略為應用程序分配資源。Fair策略即平均分配,默認情況下,每個隊列采用該方式分配資源
  2. 支持資源搶占:當某個隊列中有剩余資源時,調度器會將這些資源共享給其他隊列,而當該隊列中有新的應用程序提交時,調度器要為它回收資源。為了盡可能降低不必要的計算浪費,調度器采用了先等待再強制回收的策略,即如果等待一段時間后尚有未歸還的資源,則會進行資源搶占;從那些超額使用資源的隊列中殺死一部分任務,進而釋放資源
  3. 負載均衡:Fair Scheduler提供了一個基于任務數(shù)的負載均衡機制,該機制盡可能將系統(tǒng)中的任務均勻分配到各個節(jié)點上。此外,用戶也可以根據(jù)自己的需求設計負載均衡機制
  4. 調度策略靈活配置:Fiar Scheduler允許管理員為每個隊列單獨設置調度策略(當前支持FIFO、Fair或DRF三種)
  5. 提高小應用程序響應時間:由于采用了最大最小公平算法,小作業(yè)可以快速獲取資源并運行完成

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容