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