2022-12-29
資源 調度器 集群 作業
YARN的主節點是ResourceManager,負責管理整個集群上的計算資源。其中包含了一個組件Scheduler,即調度器。這個調度器可以根據容量、隊列等限制條件(如每個隊列分配一定的資源,最多執行一定數量的作業等),將系統中的資源分配給各個正在運行的應用程序。
YARN提供了三種內置的調度器:
FIFO Scheduler(FIFO調度器)
FIFO 為 First Input First Output 的縮寫,先進先出。FIFO 調度器將應用放在一個隊列中,按照先后順序運行應用。這種策略較為簡單,但不適合共享集群,因為大的應用會占用集群的所有資源,每個應用必須等待直到輪到自己。
●優點:簡單易懂,不需要任何配置
●缺點:不適合共享集群,大的應用會占據集群中的所有資源,所以每個應用都必須等待,直到輪到自己執行。
如下圖所示,只有當Job1全部執行完畢,才能開始執行job2
Capacity Scheduler(容量調度器)
容量調度器 Capacity Scheduler 允許多個組織共享一個 Hadoop 集群。使用容量調度器時,一個獨立的專門隊列保證小作業一提交就可以啟動。
●優點:小任務不會因為前面有大任務在執行,而只能一直等下去
●缺點:這種策略是以整個集群利用率為代價的,這意味著與使用FIFO調度器相比,大作業執行的時間要長上一些。
如圖所示,專門留了一部分資源給小任務,可以在執行job1的同時,不會阻塞job2的執行,但是因為這部分資源是一直保留給其他任務的,所以就算只有一個任務,也無法為其分配全部資源,只能讓這部分保留資源閑置著,有著一定的資源浪費問題。
Fair Scheduler(公平調度器)
公平調度器的目的就是為所有運行的應用公平分配資源。使用公平調度器時,不需要預留一定量的資源,因為調度器會在所有運行的作業之間動態平衡資源,第一個(大)作業啟動時,它也是唯一運行的作業,因而獲得集群中的所有資源,當第二個(小)作業啟動時,它被分配到集群的一半資源,這樣每個作業都能公平共享資源。
如圖所示,就像是把好幾個任務拼接成了一個任務,可以充分利用資源,同時又不會因為大任務在前面執行而導致小任務一直無法完成
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號