當前位置: 首頁 / 技術分享 / 正文
YARN的調度器

2022-12-29

資源 調度器 集群 作業

  YARN的主節點是ResourceManager,負責管理整個集群上的計算資源。其中包含了一個組件Scheduler,即調度器。這個調度器可以根據容量、隊列等限制條件(如每個隊列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在運行的應用程序。

  YARN提供了三種內置的調度器:

  FIFO Scheduler(FIFO調度器)

  FIFO 為 First Input First Output 的縮寫,先進先出。FIFO 調度器將應用放在一個隊列中,按照先后順序運行應用。這種策略較為簡單,但不適合共享集群,因為大的應用會占用集群的所有資源,每個應用必須等待直到輪到自己。

  ●優點:簡單易懂,不需要任何配置

  ●缺點:不適合共享集群,大的應用會占據集群中的所有資源,所以每個應用都必須等待,直到輪到自己執行。

  如下圖所示,只有當Job1全部執行完畢,才能開始執行job2

1

  Capacity Scheduler(容量調度器)

  容量調度器 Capacity Scheduler 允許多個組織共享一個 Hadoop 集群。使用容量調度器時,一個獨立的專門隊列保證小作業一提交就可以啟動。

  ●優點:小任務不會因為前面有大任務在執行,而只能一直等下去

  ●缺點:這種策略是以整個集群利用率為代價的,這意味著與使用FIFO調度器相比,大作業執行的時間要長上一些。

2

  如圖所示,專門留了一部分資源給小任務,可以在執行job1的同時,不會阻塞job2的執行,但是因為這部分資源是一直保留給其他任務的,所以就算只有一個任務,也無法為其分配全部資源,只能讓這部分保留資源閑置著,有著一定的資源浪費問題。

  Fair Scheduler(公平調度器)

  公平調度器的目的就是為所有運行的應用公平分配資源。使用公平調度器時,不需要預留一定量的資源,因為調度器會在所有運行的作業之間動態平衡資源,第一個(大)作業啟動時,它也是唯一運行的作業,因而獲得集群中的所有資源,當第二個(小)作業啟動時,它被分配到集群的一半資源,這樣每個作業都能公平共享資源。

3

  如圖所示,就像是把好幾個任務拼接成了一個任務,可以充分利用資源,同時又不會因為大任務在前面執行而導致小任務一直無法完成

分享: 更多

上一篇:JDK8新特性-Lambda表達式

下一篇:YARN的Job提交流程

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
在線咨詢
試聽
入學教程
立即報名

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號

美女裸体黄网站18禁免费_美女裸体黄网站啪啪18禁_美女裸体黄污18禁网站免费下载