Yarn调度器和调度算法(FIFO、容量调度器 与 公平调度器)
目錄
- Yarn調度器和調度算法
- 一、先進先出調度器(FIFO)
- 二、容量調度器(Capacity Scheduler)
- 1. 容量調度器特點
- 2. 容量調度器資源分配算法
- 三、公平調度器(Fair Scheduler)
- 1. 公平調度器特點
- 2. 公平調度器--缺額
- 3. 公平調度器隊列資源分配方式
- 4. 公平調度器資源分配算法
Yarn調度器和調度算法
目前,Hadoop作業調度器主要有三種: FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。
Apache Hadoop-1.x默認調度器是FIFO;
Apache hadoop-2.7.2之后默認調度器是容量調度器Capacity Scheduler,也稱計算能力調度器;
Apache hadoop-3.2.2默認調度器是公平調度器Fair Scheduler。
CDH 框架默認調度器是 Fair Scheduler。
如圖為Apache hadoop-3.2.2默認調度器配置信息(yarn-site.xml):
一、先進先出調度器(FIFO)
FIFO調度器(First In First Out): 單隊列,根據提交作業的先后順序,先到先得。
優點: 簡單易懂;
缺點: 不支持多隊列,生產環境很少使用。
二、容量調度器(Capacity Scheduler)
Capacity Scheduler是Yahoo開發的多用戶調度器。
1. 容量調度器特點
a. 支持多用戶共享集群和多應用程序同時運行;
b. 為了防止同一個用戶的作業獨占隊列中的資源,該調度器會對同一用戶提交的作業所占資源進行限定。
2. 容量調度器資源分配算法
三、公平調度器(Fair Scheduler)
Fair Scheduler是Facebook開發的多用戶調度器。
1. 公平調度器特點
與容量調度器相同點:
a. 支持多用戶共享集群和多應用程序同時運行;
b. 為了防止同一個用戶的作業獨占隊列中的資源,該調度器會對同一用戶提交的作業所占資源進行限定。
與容量調度器不同點:
容量調度器: 優先選擇資源利用率低的隊列;
公平調度器:優先選擇對資源缺額比例大的。
容量調度器:FIFO、DRF(內存+CPU);
公平調度器:FIFO、FAIR、DRF。
2. 公平調度器–缺額
3. 公平調度器隊列資源分配方式
公平調度器每個隊列資源分配策略若是選擇FIFO,相當于容量調度器;
上述說的資源都是單一標準,例如只考慮內存(Yarn默認情況)。但很多時候我們資源有很多種,例如內存、CPU、網絡帶寬等,這樣就很難衡量兩個應用應該分配的資源比例。
所以在Yarn中,我們使用DRF來決定如何調度:
DRF(Dominant Resource Fairness)主導資源公平調度算法,是一種通用的多資源最大-最小公平分配策略(Max-Min Fairness Strategy),核心思想是在多環境下一個用戶的資源分配應該由用戶的主導份額資源決定。用戶所有份額中的最大值稱為該用戶的主導份額,與主導份額相對應的資源稱為主導資源。
假設集群一共有100 CPU和10T 內存,而應用A需要(2 CPU, 300GB),應用B需要(6 CPU,100GB)。 則兩個應用分別需要A(2%CPU, 3%內存)和B(6%CPU, 1%內存)的資源,這就意味著A是內存主導的, B是 CPU主導的。
4. 公平調度器資源分配算法
總結
以上是生活随笔為你收集整理的Yarn调度器和调度算法(FIFO、容量调度器 与 公平调度器)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rocks自建存储流程
- 下一篇: Project Euler 126 -