最近一周幾乎都在做關(guān)于yarn的資源隔離的事情,也重新看了一下以前看過(guò)的關(guān)于yarn的書,這次就當(dāng)是寫寫自己的工作總結(jié)吧。
成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)呼瑪,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792之所以要做資源隔離,是因?yàn)楝F(xiàn)在公司內(nèi)部有很多團(tuán)隊(duì)都在使用yarn來(lái)提交各式各樣的任務(wù),例如hive的mapreduce,spark在yarn上的部署,sqoop導(dǎo)數(shù)據(jù)等等,為了防止單個(gè)任務(wù)使用過(guò)多資源,而導(dǎo)致整個(gè)集群的其他任務(wù)不可運(yùn)行,所以就要使用yarn的資源隔離了。
雖然yarn中,有Capacity Scheduler以及Fair Scheduler這兩種方式來(lái)實(shí)現(xiàn)資源在不同任務(wù)(準(zhǔn)確的說(shuō)應(yīng)該是隊(duì)列)之間的調(diào)度,但是個(gè)人感覺這兩種分配策略在資源隔離上面真的沒有什么太大的區(qū)別,因?yàn)閮烧叨伎梢詫?duì)各個(gè)隊(duì)列限制使用的大最小資源;而且也可將現(xiàn)有資源劃分為不同的隊(duì)列,每個(gè)應(yīng)用只在特定的隊(duì)列提交。當(dāng)然對(duì)于隊(duì)列內(nèi)部任務(wù)之間的資源隔離,F(xiàn)air Scheduler支持的方式多了一種FIFO策略,由于公司使用的hadoop默認(rèn)使用Fair Scheduler,所以最后還是使用的Fair策略。下面大概講一下自己是怎么做的吧。
step1:針對(duì)不同的開發(fā)團(tuán)隊(duì),建立不同的用戶,就比如下面的截圖,針對(duì)兩個(gè)group分別建立了group1以及group2這兩個(gè)用戶:
step2:修改權(quán)限
這里的權(quán)限包括hadoop權(quán)限、hdfs權(quán)限,這就要根據(jù)自己的實(shí)際情況來(lái)看了;
step3:修改yarn-site.xml
主要修改了以下幾個(gè)參數(shù)
yarn.resourcemanager.scheduler.class:配置使用哪種Scheduler,由于使用的是FairScheduler,所以設(shè)置為org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
yarn.scheduler.fair.allocation.file:指定分配策略文件路徑
yarn.scheduler.fair.preemption:是否支持隊(duì)列之間的資源搶占,雖然設(shè)置為false,但是還是多多少少會(huì)出現(xiàn)繁忙隊(duì)列搶占了一點(diǎn)空閑隊(duì)列資源的現(xiàn)象
關(guān)于yarn-site的配置參數(shù)還有很多,大家可以在網(wǎng)上找找;
step4:編寫fair scheduler的具體配置文件,在自己測(cè)試的時(shí)候,大概如下面的截圖
首先簡(jiǎn)單介紹一下,yarn中資源是按照隊(duì)列(或者說(shuō)是資源池)來(lái)分配的,隊(duì)列有自己的子隊(duì)列,而root隊(duì)列就像java中的Object隊(duì)列一樣(如果沒有設(shè)置,所有應(yīng)用向root.default隊(duì)列提交應(yīng)用),是所有隊(duì)列的父隊(duì)列。在上面的配置文件中,這對(duì)group1隊(duì)列定義了如下規(guī)則:
1.group1以及group2這兩個(gè)root隊(duì)列的子隊(duì)列(這里隊(duì)列命名跟用戶命名一樣);
2.group1隊(duì)列最少保留10G內(nèi)存、10個(gè)cpu內(nèi)核,最多使用15G內(nèi)存、15個(gè)cpu內(nèi)核;
3.隊(duì)列內(nèi)的應(yīng)用才用公平的調(diào)度策略分配資源,最多可以在group1內(nèi)運(yùn)行50個(gè)應(yīng)用;
4.只有g(shù)roup1以及hadoop用戶可以向group1隊(duì)列提交應(yīng)用;
5.只用hadoop用戶可以管理group1隊(duì)列(即只有hadoop可以kill這上面的應(yīng)用)。
step5:重啟yarn
最后通過(guò)spark-shell --master yarn --num-executors --executor-memory --queue測(cè)試,發(fā)現(xiàn)的確可以做到資源隔離,達(dá)到如下效果:
1.group1用戶只能向group1隊(duì)列提交應(yīng)用,而且即使使用資源大于大值,也只是會(huì)略微超過(guò)一點(diǎn)點(diǎn),不會(huì)超過(guò)很多(有興趣的朋友可以自己試試);
2.group1用戶是不能向group2隊(duì)列提交任務(wù)的;
3.hadoop用戶還是可以向group1、group2、default三個(gè)隊(duì)列提交任務(wù),這樣可以保證系統(tǒng)有個(gè)類似root用戶的角色。
但是發(fā)現(xiàn)沒能實(shí)現(xiàn)acl的功能,即無(wú)論是hadoop、group1、group2還是任何可以執(zhí)行yarn命令的用戶都可以通過(guò)yarn application -kill殺死任何隊(duì)列上的程序。多次參考書本以及官網(wǎng),但是仍然沒有成功,最后不得已,只能說(shuō)是控制yarn命令的權(quán)限為700,只讓hadoop用戶可以執(zhí)行這個(gè)命令,希望以后可以找出更好地解決方案。
2017年1月7日
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前標(biāo)題:yarn的資源隔離-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article12/pddgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站排名、建站公司、網(wǎng)站維護(hù)、服務(wù)器托管、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容