yarn的三種調(diào)度策略配置參數(shù)?
三種調(diào)度器
FIFO調(diào)度器
先進(jìn)先出,但不適合資源公平性
容量調(diào)度器
獨(dú)立的專門隊(duì)列保證小作業(yè)也可以提交后就啟動(dòng),隊(duì)列容量是專門保留的
以整個(gè)集群的利用率為代價(jià),與FIFO比,大作業(yè)執(zhí)行的時(shí)間要長
公平調(diào)度器
不需要預(yù)留資源,調(diào)度器可以在運(yùn)行的作業(yè)之間動(dòng)態(tài)平衡資源,大作業(yè)啟動(dòng)時(shí),因?yàn)槭俏ㄒ贿\(yùn)行的,所以獲得集群的所有資源,之后小作業(yè)啟動(dòng)時(shí),被分配到集群的一半的資源,這樣每個(gè)作業(yè)都能公平共享資源
調(diào)度器配置
容量調(diào)度器
1) 多個(gè)組織共享集群,每個(gè)組織配置一個(gè)隊(duì)列,一個(gè)隊(duì)列分配一定的集群資源
2) 同一個(gè)隊(duì)列可以進(jìn)一步劃分,同一個(gè)組織不同用戶共享隊(duì)列所分配的資源,使用FIFO調(diào)度
3) 隊(duì)列資源不足時(shí),可以等待其他隊(duì)列釋放的資源或者使用集群中其他空閑資源,這可能會(huì)使得實(shí)際使用的隊(duì)列容量超出配置的容量,這叫做“彈性隊(duì)列”
4) 為隊(duì)列設(shè)置一個(gè)最大容量限制,可以防止隊(duì)列過多侵占其他隊(duì)列資源
容量調(diào)度器配置
在capacity-scheduler.xml配置yarn.scheduler.capacity..
作業(yè)的隊(duì)列放置
job放置的隊(duì)列取決于job本身,可以在mapreduce中配置mapreduce.job.queuename,如果隊(duì)列不存在,則報(bào)錯(cuò),不指定則使用默認(rèn)default隊(duì)列
隊(duì)列名是指隊(duì)列層次的最后一層,不包含之前路徑
公平調(diào)度器
既實(shí)現(xiàn)了用戶隊(duì)列間的公平調(diào)度,也實(shí)現(xiàn)了隊(duì)列內(nèi)作業(yè)間的公平調(diào)度
假設(shè)用戶A,B各自擁有隊(duì)列Q1,Q2
1) A先啟動(dòng)一個(gè)job J1,則J1占用集群所有資源
2) B啟動(dòng)一個(gè)job J2,則Q1中的J1需要分一半資源給Q2中的J2
3) B又啟動(dòng)一個(gè)job J3,則Q2中的J2需要分一半資源給Q2中的J3
公平調(diào)度器配置
1) 因?yàn)閥arn-site.xml中默認(rèn)使用容量調(diào)度器(CDH除外),首先修改其中yarn.resourcemanager.scheduler.class為公平調(diào)度器:
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
2) 可以修改隊(duì)列內(nèi)的調(diào)度策略,默認(rèn)使用公平調(diào)度,也支持FIFO
job的隊(duì)列放置
1) 使用基于規(guī)則的系統(tǒng)確定job隊(duì)列放置,匹配對(duì)應(yīng)的用戶隊(duì)列直到使用default隊(duì)列
2) 直接就使用default,所有job公平分配
搶占
允許調(diào)度器終止占用資源超過公平共享份額隊(duì)列的容器,這些容器資源釋放后被分配給資源數(shù)量低于應(yīng)得份額的隊(duì)列
搶占的影響:因?yàn)楸唤K止的容器需要重新執(zhí)行而降低集群效率
搶占超時(shí)設(shè)置
yarn.scheduler.fair.preemption
設(shè)置超時(shí)參數(shù),設(shè)定時(shí)間都是秒級(jí)別
1) 最小共享搶占
defaultMinSharePreemptionTimeout
指定時(shí)間未獲得被承諾的最小共享資源,調(diào)度器則搶占其他容器
2) 公平共享搶占
defaultFairSharePreemptionTimeout
指定時(shí)間獲得資源低于公平共享份額的一半,調(diào)度器搶占其他容器。
本網(wǎng)站文章僅供交流學(xué)習(xí) ,不作為商用, 版權(quán)歸屬原作者,部分文章推送時(shí)未能及時(shí)與原作者取得聯(lián)系,若來源標(biāo)注錯(cuò)誤或侵犯到您的權(quán)益煩請(qǐng)告知,我們將立即刪除.