亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        主資源公平調(diào)度算法在YARN中應(yīng)用研究

        2016-04-14 11:14:53陳昕劉朝暉
        電腦知識(shí)與技術(shù) 2016年5期

        陳昕 劉朝暉

        摘要:Apache Hadoop YARN是一種新的通用的Hadoop資源管理器,是在Mapreduce1的基礎(chǔ)上發(fā)展起來的,該引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。為此,文章在分析了Hadoop YARN計(jì)算框架的基本結(jié)構(gòu)和工作流程,重點(diǎn)研究了Hadoop YARN中的多資源分配機(jī)制,尤其是主資源公平調(diào)度算法(Dominant Resource Fairness,DRF)在YARN中的應(yīng)用。

        關(guān)鍵詞:Hadoop;YARN;資源調(diào)度器;資源分配算法;DRF

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)05-0173-03

        1 YARN的基本結(jié)構(gòu)及工作流程

        1.1 YARN 基本架構(gòu)

        YARN是Hadoop 2.0中的資源管理系統(tǒng),它是在MapReduce的基礎(chǔ)上發(fā)展起來的,與MapReduce不同的是,MapReduce有一個(gè)全局的管理器JobTracker,而YARN將JobTracker的功能拆分開來,成為了兩個(gè)獨(dú)立的管理器ResourceManager和 ApplicationMaster。ResourceManager負(fù)責(zé)全局的資源管理, ResourceManager負(fù)責(zé)單個(gè)應(yīng)用程序的管理。

        1.2 YARN基本組成結(jié)構(gòu)

        和MRv1一樣,YARN也是Master/Slave結(jié)構(gòu),不過在YARN中有一個(gè)ResourceManager作為Master負(fù)責(zé)對(duì)各個(gè)Slave(NodeManager)上的資源進(jìn)行統(tǒng)一的管理和調(diào)度。用戶提交的應(yīng)用程序需要提供一個(gè)ApplicationMaster跟蹤和管理這個(gè)程序,它將向ResourceManager申請(qǐng)資源,之后會(huì)啟動(dòng)NodeManager任務(wù)。本小節(jié)我們將介紹YARN的基本組成結(jié)構(gòu)。

        1.2.1 ResourceManager(RM)

        ResourceManager作為Hadoop全局的資源管理器,主要是負(fù)責(zé)YARN的資源管理和分配。它由兩個(gè)組件構(gòu)成:調(diào)度器(Scheduler)和應(yīng)用程序管理器(Applications Manager,ASM)。

        1)調(diào)度器

        調(diào)度器和MRv1的一樣,可以根據(jù)多種限制條件(如容量、隊(duì)列等),將資源分配給系統(tǒng)中各個(gè)正在運(yùn)行的應(yīng)用程序。該調(diào)度器不從事任何與具體應(yīng)用程序相關(guān)的工作(如監(jiān)控或者跟蹤應(yīng)用的執(zhí)行狀態(tài)、重新啟動(dòng)因應(yīng)用執(zhí)行失敗或者硬件故障而產(chǎn)生的失敗任務(wù)),這些都由應(yīng)用程序相關(guān)的ApplicationMaster完成。當(dāng)應(yīng)用程序需求資源時(shí),調(diào)度器會(huì)將資源分配單位被抽象成一個(gè)“資源容器”(Resource Container,簡(jiǎn)稱Container)分配出去。此外,調(diào)度器是可插拔的,同時(shí)用戶只要實(shí)現(xiàn)了Hadoop提供的接口就可以實(shí)現(xiàn)自己的調(diào)度器。YARN也實(shí)現(xiàn)了多種直接可調(diào)用的調(diào)度器,比如公平調(diào)度器(Fair Scheduler)[1]和計(jì)算能力調(diào)度器(Capacity Scheduler)[2]等。

        2)應(yīng)用程序管理器(Applications Manager,ASM)

        Applications Manager是一個(gè)管理整個(gè)系統(tǒng)中所有應(yīng)用程序的管理器,主要功能包括提交應(yīng)用程序、與調(diào)度器協(xié)商資源以啟動(dòng)ApplicationMaster、監(jiān)控ApplicationMaster等。

        1.2.2 ApplicationMaster(AM)

        用戶提交的每個(gè)應(yīng)用程序均包含1個(gè)ApplicationMaster,主要負(fù)責(zé):1)與ResourceManager調(diào)度器協(xié)商以獲取資源(用Container表示),2)將任務(wù)分配給內(nèi)部的任務(wù),3)啟動(dòng)/停止任務(wù)、監(jiān)控所有任務(wù)運(yùn)行狀態(tài),若任務(wù)失敗則重啟任務(wù)。

        1.2.3 NodeManager(NM)

        NodeManager是每個(gè)節(jié)點(diǎn)上的資源和任務(wù)管理器,主要負(fù)責(zé):1)定時(shí)地通過心跳的方式向ResourceManager匯報(bào)本節(jié)點(diǎn)上的資源使用情況和各個(gè)Container的運(yùn)行狀態(tài);2)它接收并處理來自ApplicationMaster的Container啟動(dòng)/停止等各種請(qǐng)求。

        1.2.4 Container

        YARN中對(duì)資源抽象是用Container表示的,包括內(nèi)存、CPU、磁盤、網(wǎng)絡(luò)等多維度的資源都進(jìn)行了封裝,當(dāng)ApplicationMaster向ResourceManager申請(qǐng)資源時(shí),ResourceManager為ApplicationMaster返回的資源便是用 Container表示的。每個(gè)任務(wù)都會(huì)被分配一個(gè)Container,且該任務(wù)只能使用該Container中的資源,與MRv1中的slot不同的是,Container是一個(gè)動(dòng)態(tài)資源劃分單位,可以根據(jù)應(yīng)用程序的需求動(dòng)態(tài)生成的。目前YARN采用了DRF算法支持多維度的調(diào)度,不過目前僅支持CPU和內(nèi)存兩種資源,同時(shí)使用輕量級(jí)資源隔離機(jī)制進(jìn)行資源隔離。

        1.3 YARN工作流程

        當(dāng)用戶向YARN中提交一個(gè)應(yīng)用程序后,YARN將分兩個(gè)階段運(yùn)行該應(yīng)用程序:

        階段1:?jiǎn)?dòng)ApplicationMaster;

        階段2: ApplicationMaster創(chuàng)建應(yīng)用程序,為應(yīng)用程序申請(qǐng)資源,在程序運(yùn)行完成前都監(jiān)控它的整個(gè)運(yùn)行過程。

        步驟1 首先需要用戶向YARN中提交應(yīng)用程序,這個(gè)其中包括了ApplicationMaster程序、ApplicationMaster的啟動(dòng)命令、用戶程序等。

        步驟2 ResourceManager為該應(yīng)用程序分配第一個(gè)Container,并與對(duì)應(yīng)的NodeManager通信,要求它在這個(gè)Container中啟動(dòng)應(yīng)用程序的ApplicationMaster。

        步驟3 ApplicationMaster啟動(dòng)后,先要向ResourceManager注冊(cè),注冊(cè)成功后用戶可以直接通過ResourceManager查看應(yīng)用程序的運(yùn)行狀態(tài),然后ResourceManager將為各個(gè)任務(wù)申請(qǐng)資源,并監(jiān)控它的運(yùn)行狀態(tài),直到運(yùn)行結(jié)束,即重復(fù)步驟4~7。

        步驟4 在RPC協(xié)議的基礎(chǔ)上,ApplicationMaster采用輪詢的方式向ResourceManager申請(qǐng)和領(lǐng)取資源。

        步驟5 ApplicationMaster申請(qǐng)到資源后,便與對(duì)應(yīng)的NodeManager通信,要求它啟動(dòng)任務(wù)。

        步驟6 NodeManager為任務(wù)設(shè)置好運(yùn)行環(huán)境(包括環(huán)境變量、JAR包、二進(jìn)制程序等)后,將任務(wù)啟動(dòng)命令寫到一個(gè)腳本中,并通過運(yùn)行該腳本啟動(dòng)任務(wù)。

        步驟7 各個(gè)任務(wù)通過RPC協(xié)議向ApplicationMaster匯報(bào)自己的狀態(tài)和進(jìn)度,這樣ApplicationMaster就可以隨時(shí)掌握各個(gè)任務(wù)的運(yùn)行狀態(tài),當(dāng)任務(wù)失敗時(shí)可以重新啟動(dòng)任務(wù)。在應(yīng)用程序運(yùn)行過程中,用戶也可隨時(shí)通過RPC向ApplicationMaster查詢應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)。

        步驟8 應(yīng)用程序運(yùn)行完成后,ApplicationMaster向ResourceManager注銷并關(guān)閉自己[3]。

        2 YARN的資源分配算法

        資源調(diào)度機(jī)制是YARN資源調(diào)度器的核心。YARN資源調(diào)度器采用了多種調(diào)度機(jī)制,主要包括:雙層資源調(diào)度機(jī)制、層級(jí)隊(duì)列管理機(jī)制、資源保證和資源搶占機(jī)制。其中雙層資源調(diào)度機(jī)制是其核心,是YARN進(jìn)行資源分配的總體架構(gòu);層級(jí)隊(duì)列管理機(jī)制是YARN對(duì)上層資源分配隊(duì)列的管理方式;資源保證和資源搶占機(jī)制是YARN保證任務(wù)資源需求的機(jī)制[4]。在為了支持多維度的資源調(diào)度,YARN的資源調(diào)度器采用了主資源公平調(diào)度算法(Dominant Resource Fairness ,DRF)。該算法擴(kuò)展了最大最小公平算法(max-min fairness),使其能夠支持多維資源的調(diào)度。

        2.1 最大最小公平策略(max-min fairness)介紹

        在共享的計(jì)算機(jī)系統(tǒng)中,資源分配是一個(gè)重要的組成部分。最通用的分配策略是最大最小公平策略(max-min fairness),這種策略會(huì)最大化系統(tǒng)中一個(gè)用戶收到的最小分配,在不考慮權(quán)重的情況下,這種策略每一輪會(huì)給予每個(gè)用戶一份均等的資源。一般意義的max-min fairness是包含權(quán)重的,每一輪用戶可以獲得與它的權(quán)重對(duì)應(yīng)的資源比例。加權(quán)max-min fairness的更具有一般性并且能提供性能隔離的能力。加權(quán)max-min fairness模型也可以支撐許多其他資源分配策略,包括優(yōu)先級(jí)、deadline based allocation等。鑒于這些特征,max-min fairness已經(jīng)被很多算法實(shí)現(xiàn),如round-robin、proportional resource sharing、weighted fair queueing[5]。在不同的場(chǎng)景中,這些算法都被大量的實(shí)現(xiàn),比如鏈路帶寬、CPU、內(nèi)存、存儲(chǔ)等。雖然該策略已經(jīng)被多方面應(yīng)用,但目前為止主要還是集中在單資源類型的場(chǎng)景下。

        實(shí)際上,由于一般意義上的max-min fairness是加權(quán)的,所以假設(shè)有A,B,C,D四個(gè)用戶,權(quán)值分別為x,y, z,f。需求分別為a,b,c,d??傎Y源為e。我們可以多輪的分配資源。每一輪給用戶分別分配e*j/(x+y+z+f)單位的資源(j代表用戶相應(yīng)權(quán)值)。若用戶這一輪已經(jīng)超出需求,則下一輪不分配,并且多出的資源留給下一輪作為總資源的一部分。這樣直到所有資源分配完畢。

        2.2 DRF算法

        DRF是一種通用的多資源的max-min fairness分配策略。在DRF算法中,所需份額最大的資源叫做主資源,然后將max-min fairness應(yīng)用在主資源上,這樣多維度的資源調(diào)度就變?yōu)榱藛我毁Y源的調(diào)度的問題,因?yàn)殡S著調(diào)度的進(jìn)行,每個(gè)資源的份額都在變化,選擇的主資源也在變化。舉個(gè)例子,有兩個(gè)用戶A、B,A是計(jì)算密集型的,B是I/O密集型的,DRF在分配資源的時(shí)候會(huì)盡量的使得用戶A的CPU資源份額和用戶B的I/O資源份額比較均衡。

        2.3 DRF計(jì)算方式

        假設(shè)有兩個(gè)用戶,用戶A、B,系統(tǒng)的CPU和內(nèi)存分別為9、18GB.用戶A每次都請(qǐng)求(1CPU,4GB)資源;用戶B每次都請(qǐng)求(3CPU,4GB)資源。在這種情況下,如何均衡的分配資源?

        在這個(gè)例子中,由于用戶A的CPU占總CPU 1/9,RAM占總RAM的 2/9,而用戶B的CPU占1/3,RAM占2/9,所以A的主資源為內(nèi)存,B的主資源為CPU?;谶@點(diǎn),DRF會(huì)最大化A的內(nèi)存的最小化分配,并會(huì)最大化B的CPU的最小分配。這就是DRF的分配策略。

        3 結(jié)束語

        在Hadoop中,YARN是其核心部分,而在YARN架構(gòu)中,資源調(diào)度又是重中之重?,F(xiàn)今YARN架構(gòu)中實(shí)現(xiàn)的多資源調(diào)度是基于DRF算法的,充分的研究DRF的原理和在YARN實(shí)現(xiàn),有助于我們部署平臺(tái)和性能優(yōu)化,還有助于我們發(fā)現(xiàn)其不足,為今后的多資源調(diào)度研究打下堅(jiān)實(shí)基礎(chǔ)。

        參考文獻(xiàn):

        [1] Hadoop Capacity Scheduler[EB/OL].(2015-01-07). http://Hadoop.apache.org/commom/docs/r2.2.0/capacity_scheduler.html.

        [2] Hadoop Fair Scheduler[EB/OL].(2015-01-07). http://Hadoop.apache.org/commom/docs/r2.2.0/fair_schduler.html.

        [3] 董春濤, 李文婷, 沈晴霓, 等. Hadoop YARN大數(shù)據(jù)計(jì)算框架及其資源調(diào)度機(jī)制研究[J]. 信息通信技術(shù), 2015(1): 77-84.

        [4] 董西成. Hadoop技術(shù)內(nèi)幕 深入解析YARN架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理[M]. 北京: 機(jī)械工業(yè)出版社,2014.

        [5] Ali Ghodsi, Matei Zaharia, Benjamin Hindman.Dominant Resource Fairness:Fair Allocation of Multiple Resource Types[R]. Technical Report No.UCB/EECS-2011-18, 2011.

        国产精品自产拍在线观看免费| 日本大片一区二区三区| 国产高清不卡二区三区在线观看| 久久久亚洲熟妇熟女av| 一区二区三区乱码专区| 日韩三级一区二区不卡| 亚洲精品成人av在线| 日本人与黑人做爰视频网站| 最新国产av无码专区亚洲| 亚洲国产中文在线二区三区免 | 青青草在线成人免费视频| 男男做h嗯啊高潮涩涩| 亚洲综合偷自成人网第页色 | 亚洲乱码一区二区三区成人小说| 久久天堂精品一区专区av| 亚洲一区二区三区乱码在线中国| 亚洲h在线播放在线观看h| 精品久久亚洲中文无码| 亚洲伊人久久大香线蕉影院| 亚洲国产福利成人一区二区| 久久九九av久精品日产一区免费| 看国产亚洲美女黄色一级片| 国产精品白丝久久av网站| 国偷自产视频一区二区久| 人妻aⅴ无码一区二区三区| 久久91综合国产91久久精品| 玩弄丝袜美腿超短裙校花| 国产内射爽爽大片| 久久精品国产亚洲av蜜臀| 96精品免费视频大全| 一区二区三区国产大片| 亚洲大尺度无码无码专区| 欧美精品videosex极品| 爱情岛论坛亚洲品质自拍hd| 国产亚洲精品综合在线网址| 一区二区三区视频免费观看在线| 国产免费一区二区在线视频| 久久天堂综合亚洲伊人hd妓女| 亚洲成a人片在线看| av在线网站一区二区| 婷婷五月六月激情综合色中文字幕|