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

        ?

        一種基于YARN的高優(yōu)先級作業(yè)調(diào)度實現(xiàn)方案

        2016-05-16 02:09:12詹文濤艾中良劉忠麟李常寶高澤
        軟件 2016年3期

        詹文濤+艾中良+劉忠麟+李常寶+高澤

        摘要:提交到Y(jié)ARN上的一個大數(shù)據(jù)作業(yè)會被切分為一個或者多個任務(wù),任務(wù)是大數(shù)據(jù)作業(yè)申請資源和執(zhí)行的基本單位。在某些領(lǐng)域中存在需要對作業(yè)緊急度作有效區(qū)分使得高緊急度作業(yè)優(yōu)先獲得資源的需求,但是在現(xiàn)有的YARN資源調(diào)度策略中,對于提交到Y(jié)ARN上的高優(yōu)先級作業(yè)缺乏資源優(yōu)先分配和高質(zhì)量的資源保障機制。本文在修改YARN原有資源調(diào)度方案的基礎(chǔ)上,提出了一種基于YARN的高優(yōu)先級作業(yè)調(diào)度實現(xiàn)方案。實驗表明,提交到Y(jié)ARN上的高優(yōu)先級作業(yè)執(zhí)行效率提升了7%左右,證明設(shè)計方案行之有效。

        關(guān)鍵詞:YARN;作業(yè)調(diào)度;高優(yōu)先級

        中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2016.03.021

        0引言

        YARN分布式大數(shù)據(jù)資源調(diào)度框架用于給運行于其上的作業(yè)調(diào)度資源并管理作業(yè)執(zhí)行流程?,F(xiàn)有的作業(yè)調(diào)度方案是以將作業(yè)分配給有空閑資源的節(jié)點為唯一目標(biāo)的。在某些領(lǐng)域中存在需要對作業(yè)緊急度作有效區(qū)分使得高緊急度作業(yè)優(yōu)先獲得調(diào)度資源的需求,在實際調(diào)研和使用中發(fā)現(xiàn)已有的YARN資源調(diào)度方案并不能很好的滿足這一需求。本文提出了一種YARN上的高優(yōu)先級作業(yè)調(diào)度方案,通過將作業(yè)提交到自定義的高優(yōu)先級隊列上,在資源調(diào)度過程中優(yōu)先為高優(yōu)先級作業(yè)分配資源,并避免當(dāng)高優(yōu)先級作業(yè)運行時,低優(yōu)先級作業(yè)對其形成的資源競爭,實現(xiàn)了在集群負(fù)載較高情況下高優(yōu)先級作業(yè)的執(zhí)行效率提升。

        1現(xiàn)有的YARN作業(yè)調(diào)度方案

        對于YARN資源調(diào)度平臺而言,按照現(xiàn)在的調(diào)度方案,當(dāng)有一個緊急度比較高的任務(wù)提交到處理平臺時,會提交到相應(yīng)的調(diào)度隊列上,由中心調(diào)度器處理。中心調(diào)度器選中將要為其分配任務(wù)的目標(biāo)節(jié)點、遍歷調(diào)度隊列的層級隊列樹選擇隊列,給選中隊列分配節(jié)點上的資源。對于隊列上待分配資源的作業(yè)集合,首先按照作業(yè)提交先進(jìn)先出的順序分配節(jié)點上的資源,在同一個作業(yè)的多個任務(wù)中,為了控制任務(wù)執(zhí)行順序,給資源請求一個優(yōu)先級屬性,使得優(yōu)先級高的任務(wù)能夠優(yōu)先獲得資源。

        這種作業(yè)調(diào)度方案對于作業(yè)整體而言缺乏一個作業(yè)層面的整體保障,使得不同作業(yè)之間調(diào)度緊急性缺乏一個有效的區(qū)分,同時有高緊急度作業(yè)提交到Y(jié)ARN上,無法避免當(dāng)節(jié)點上運行有高優(yōu)先級任務(wù)時普通任務(wù)對高優(yōu)先級作業(yè)形成的資源競爭。

        因此,需求為:保障當(dāng)集群中提交有高優(yōu)先級作業(yè)時,高優(yōu)先作業(yè)優(yōu)先獲得集群資源,使其能夠更快的獲得資源分配;保障當(dāng)一個普通作業(yè)提交到目標(biāo)節(jié)點上時,如果目標(biāo)節(jié)點運行有高優(yōu)先級任務(wù),限制低優(yōu)先級任務(wù)分配可用資源量,以使得高優(yōu)先級任務(wù)能夠更好的運行。

        2高優(yōu)先級作業(yè)調(diào)度設(shè)計與實現(xiàn)

        2.1實現(xiàn)思路

        高優(yōu)先級作業(yè)優(yōu)先調(diào)度的設(shè)計方案是基于Capacity資源調(diào)度器實現(xiàn)的,本課題的開展按照以下步驟進(jìn)行:

        高優(yōu)先級作業(yè)描述和解析。中心調(diào)度器是一個可插拔組件,可采用定義配置文件的方式給調(diào)度器配置相關(guān)參數(shù)。本課題設(shè)計為,給隊列一個優(yōu)先級屬性,使得提交到該隊列上的作業(yè)優(yōu)先調(diào)度分配資源。并且給隊列一個資源閾值屬性,使得提交到該隊列的任務(wù)能夠參考該閾值屬性,確定是否需要限制節(jié)點可分配資源量。并修改Web界面中對任務(wù)隊列描述部分參數(shù)。

        在對高優(yōu)先級隊列進(jìn)行描述的基礎(chǔ)上,設(shè)計高優(yōu)先級作業(yè)資源分配流程。流程如下:

        選擇任務(wù)調(diào)度的目標(biāo)節(jié)點。中心調(diào)度器保存了集群上所有節(jié)點及其資源量信息,該過程為選中節(jié)點集合中待為該節(jié)點分配作業(yè)的目標(biāo)節(jié)點。

        給高優(yōu)先級隊列上任務(wù)優(yōu)先分配資源。在選擇好目標(biāo)節(jié)點后,本步驟為在高優(yōu)先級隊列已經(jīng)定義過,并且作業(yè)提交到高優(yōu)先級隊列上時,設(shè)計先為高優(yōu)先級隊列上的作業(yè)分配節(jié)點上資源后為普通隊列上的任務(wù)分配資源。

        節(jié)點上運行有高優(yōu)先級任務(wù)時,給普通任務(wù)添加閾值限制。一個節(jié)點上會同時運行不同作業(yè)的任務(wù),當(dāng)節(jié)點上有高優(yōu)先級任務(wù)時,保障優(yōu)先級任務(wù)的資源質(zhì)量。

        2.2實現(xiàn)方案

        本課題設(shè)計的YARN高優(yōu)先級作業(yè)調(diào)度模塊圖如圖l所示:

        其中陰影部分模塊為添加或者修改過的模塊,功能如下。

        調(diào)度器配置:是管理員用戶使用調(diào)度處理器的對外接口,用以配置調(diào)度器中集群上資源的組織方式,包括層級隊列的結(jié)構(gòu),隊列可使用資源量,用戶提交權(quán)限等信息。

        Web界面:Hadoop YARN提供了一個可視化的web界面,用以實時監(jiān)測隊列中資源使用信息,隊列資源相關(guān)的參數(shù)。

        資源層級隊列:其中隊列分為父隊列和葉子隊列兩種,隊列基本信息包括從配置文件中解析到的信息和任務(wù)提交時作業(yè)集合信息,以及NodeManager注冊和心跳過程中更新的集群中資源量信息等。

        作業(yè)調(diào)度處理器:作業(yè)調(diào)度器同時也是一個作業(yè)調(diào)度處理器,不同的調(diào)度事件類型觸發(fā)不同的行為,包括NODE_ADDED,NODE_REMOVED,NODE RESOURCE_UPDATE,NODE_UPDATE,APP_ADDED等。NODE_UPDATE事件觸發(fā)資源調(diào)度分配過程,是高優(yōu)先作業(yè)調(diào)度的執(zhí)行入口。

        作業(yè)分配:對于調(diào)度處理器中已經(jīng)分配好的作業(yè),放在一個數(shù)據(jù)結(jié)構(gòu)中,由AppplciationMaster主動拉取。

        高優(yōu)先級作業(yè)調(diào)度策略的實現(xiàn)按照如下步驟進(jìn)行。

        高優(yōu)先級作業(yè)描述和解析。

        1.隊列描述共涉及到如下類或者接口:

        CSQueue接口是隊列通用方法描述接口,添加getPSThreshold、isPrior方法。AbstractCSQueue抽象類,定義葉子節(jié)點和非葉子隊列共有的方法。

        LeafOueue繼承了AbstractCSQueue類,添加psthreshold、isPrior屬性。實現(xiàn)CSQueue接口中方法。

        ParentQueue繼承了AbstractCSQueue類,實現(xiàn)CSQueue接口中方法。

        2.隊列解析,共涉及到如下類或接口。CapacityScheduler類,將配置文件中隊列描述映射為配置文件對象。共涉及到如下方法:initializeQueues,初始化配置文件中定義的隊列,轉(zhuǎn)換為iava對象;initializeQueueMappings,檢驗隊列的合法性;parseQueue,遞歸解析隊列并判斷某一個隊列是否為高優(yōu)先級隊列,并修改高優(yōu)先級隊列可用容量為集群總?cè)萘浚4嬖贑apacityScheduler屬性里。隊列解析流程如下:

        (1)選擇任務(wù)調(diào)度的目標(biāo)節(jié)點。中心調(diào)度器選擇目標(biāo)節(jié)點有兩種方案,第一種方案與心跳協(xié)議相關(guān),發(fā)送心跳消息的節(jié)點為目標(biāo)節(jié)點;第二種方案按照節(jié)點列表的順序選擇目標(biāo)節(jié)點。因此第二種方案存在選擇目標(biāo)節(jié)點的流程,CapacityScheduler類中schedule方法實現(xiàn)了選擇目標(biāo)節(jié)點邏輯。

        YARN web界面中相應(yīng)的修改,主要涉及到如下類和方法:CapacitySchedulerPage類中render方法。CapacitySchedulerLeafOueuelnfo類中添加getPSTheshold、isPrior方法,這部分類圖調(diào)用關(guān)系如下:

        (2)給高優(yōu)先隊列上任務(wù)優(yōu)先分配資源。涉及到CapacitySchedule類中priorAllocateContainersTo-Node函數(shù),其代碼流程圖如下:

        (3)節(jié)點運行有高優(yōu)先級任務(wù)時,給普通任務(wù)添加閾值限制。主要涉及到CapacitySchedule類中allocateContainersToNode方法,為第三步中流程的一個子流程,細(xì)分如下:

        以上是高優(yōu)先級作業(yè)調(diào)度的實現(xiàn)方案的整個過程。這種設(shè)計方案的好處是,保持YARN對外接口一致性,兼容了YARN本身的資源調(diào)度策略,在此基礎(chǔ)上添加相關(guān)配置參數(shù)即可使用。

        3實驗驗證與性能分析

        本課題實驗環(huán)境搭建如下,共有4臺服務(wù)器,一臺普通計算節(jié)點??捎觅Y源配置如下:

        搭建hadoop集群環(huán)境,修改capacity-sched-uler.xml隊列描述,給集群配置三個子隊列,分別為:

        實驗測試實例一為wordcount,數(shù)據(jù)集為8.3G;實例二為pi 100 100。以下為功能驗證和性能驗證。

        3.1功能驗證

        高優(yōu)先級作業(yè)優(yōu)先調(diào)度部分驗證功能點如下:(1)對高優(yōu)先級作業(yè)的描述和解析,即對隊列屬性描述的實現(xiàn);(2)在集群負(fù)載比較滿的情況下,高優(yōu)先級作業(yè)優(yōu)先獲得資源并調(diào)度運行。因此實驗驗證也分兩部分進(jìn)行,其中(1)可從啟動時HadoopYARN界面中隊列相關(guān)的屬性展示驗證,(2)需要進(jìn)一步設(shè)計相關(guān)的實驗。

        啟動YARN后,訪問Hadoop YARN界面,查看隊列定義部分功能,界面顯示如下:

        圖中參數(shù)描述顯示root隊列下共有兩個子隊列default與prod。配置default為普通隊列,資源閾值為0.8;prod為優(yōu)先級隊列,資源閾值為1,可用資源量為100%,即集群資源量。功能要點(1)驗證成功。

        功能要點(2)實驗設(shè)計思路如下:利用集群單節(jié)點資源量有限,提交較大任務(wù),造成節(jié)點資源占滿的情況,再向高優(yōu)先級隊列中提交任務(wù),記錄相關(guān)數(shù)據(jù)。詳細(xì)設(shè)計為:在同一個節(jié)點,先向default普通隊列上提交一個任務(wù),在任務(wù)運行過程中向prod優(yōu)先級隊列提交另一個相同任務(wù)。實驗過程如下:

        分別提交作業(yè)1、2、3.作業(yè)執(zhí)行情況數(shù)據(jù)匯總?cè)缦拢?/p>

        記錄作業(yè)1更加詳細(xì)的執(zhí)行情況:

        分析以上實驗數(shù)據(jù),得出如下結(jié)論:

        1.由表3可知:作業(yè)提交時間為1<2<3,作業(yè)執(zhí)行完成時間為2<3<1,其中1為普通隊列上的作業(yè),2、3為優(yōu)先級隊列上的作業(yè)。即在集群負(fù)載滿情況下,任務(wù)隊列中同時有高低優(yōu)先級作業(yè)時,高優(yōu)先級作業(yè)優(yōu)先調(diào)度完成。

        2.對照表3和4可知:在執(zhí)行普通作業(yè)的過程中提交高優(yōu)先級作業(yè),此時普通作業(yè)暫停執(zhí)行,直到高優(yōu)先級作業(yè)執(zhí)行完畢后,普通作業(yè)重新開始調(diào)度執(zhí)行。這是因為在集群負(fù)載較滿情況下,高優(yōu)先級作業(yè)優(yōu)先分配資源。

        綜上說明了提交到高優(yōu)先級隊列上的作業(yè)優(yōu)先調(diào)度執(zhí)行,功能點(2)驗證成功。

        3.2性能分析

        本課題的性能分析設(shè)計為:在集群閑置情況下測試實例執(zhí)行時間,實例一執(zhí)行時間為10分鐘左右,實例二執(zhí)行時間為3分鐘左右。設(shè)計分兩個過程進(jìn)行:

        過程1:先向default隊列提交1個作業(yè),再向food隊列提交1個作業(yè),使集群資源負(fù)載占滿,作業(yè)選擇實例1,在任務(wù)執(zhí)行過程中再向prod隊列提交3個作業(yè),記錄prod隊列上作業(yè)從提交到運行結(jié)束時間,作業(yè)選擇實例2。

        過程2:先向defaulf隊列提交1個作業(yè),在任務(wù)執(zhí)行過程中再向food隊列提交1個作業(yè),使集群負(fù)載占滿,作業(yè)選擇實例1,在任務(wù)執(zhí)行過程中再向food隊列提交3個作業(yè),記錄food隊列上后提交三個任務(wù)從提交到運行結(jié)束時間,作業(yè)選擇實例2。

        重復(fù)三次,取均值。實驗記錄為:

        由表5可知:在運行有較大任務(wù)將集群資源占滿的情況下,提交高優(yōu)先級作業(yè),高優(yōu)先級作業(yè)能立即開始執(zhí)行。

        綜上所述,本課題中設(shè)計的資源調(diào)度方案,成功實現(xiàn)了高優(yōu)先級作業(yè)優(yōu)先調(diào)度,并提升了在集群負(fù)載較滿的情況下高緊急度作業(yè)執(zhí)行效率,效率提升為(359.7-336.7)/336.7≈7%。

        4結(jié)論

        本文實現(xiàn)了一種基于YARN的高優(yōu)先級作業(yè)調(diào)度方案,解決了在某些領(lǐng)域中需要區(qū)分作業(yè)緊急度,實現(xiàn)高緊急度作業(yè)優(yōu)先調(diào)度資源并保障資源質(zhì)量的問題,實驗證明該方案提升了高緊急度作業(yè)的執(zhí)行效率。

        麻豆精品国产专区在线观看| 亚洲黄色在线看| 亚洲AV日韩Av无码久久| 国产精品高清一区二区三区人妖 | 中文字幕a区一区三区| 亚洲精品一区二区三区四区久久| 国产亚洲欧美精品永久| 377p日本欧洲亚洲大胆张筱雨| 午夜福利电影| 亚洲色欲色欲大片WWW无码| 亚洲国产av午夜福利精品一区| 开心五月激情五月五月天| 医院人妻闷声隔着帘子被中出| 无码精品人妻一区二区三区人妻斩| 亚洲AV无码精品一区二区三区l| 日本一区二区三区的免费视频观看| 视频国产自拍在线观看| 精品无码久久久久久久久| 免费看黄色电影| 精品国产三级a| 亚洲精品一区二区三区日韩 | 久久久久免费精品国产| 激性欧美激情在线| 国产一区二区三区小说| 韩国美女主播国产三级| 精彩视频在线观看一区二区三区| 少妇高潮太爽了在线视频| 国产人妻久久精品二区三区特黄 | 中文字幕无码免费久久9| 亚洲精品一区二在线观看| 欧美性猛交aaaa片黑人| 亚洲av无码成人专区片在线观看 | 色综合久久精品中文字幕| 水蜜桃在线观看一区二区| 成人午夜福利视频镇东影视| 日韩中文字幕不卡网站| 国产亚洲激情av一区二区| 成人国产精品一区二区八戒网| 国产av一区二区三区传媒| 人妻无码一区二区在线影院| av在线网站一区二区|