999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

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

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

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

0引言

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

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

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

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

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

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

2.1實(shí)現(xiàn)思路

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

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

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

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

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

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

2.2實(shí)現(xiàn)方案

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

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

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

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

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

作業(yè)調(diào)度處理器:作業(yè)調(diào)度器同時(shí)也是一個(gè)作業(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è)分配:對(duì)于調(diào)度處理器中已經(jīng)分配好的作業(yè),放在一個(gè)數(shù)據(jù)結(jié)構(gòu)中,由AppplciationMaster主動(dòng)拉取。

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

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

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

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

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

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

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

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

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

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

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

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

3實(shí)驗(yàn)驗(yàn)證與性能分析

本課題實(shí)驗(yàn)環(huán)境搭建如下,共有4臺(tái)服務(wù)器,一臺(tái)普通計(jì)算節(jié)點(diǎn)。可用資源配置如下:

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

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

3.1功能驗(yàn)證

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

啟動(dòng)YARN后,訪問Hadoop YARN界面,查看隊(duì)列定義部分功能,界面顯示如下:

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

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

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

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

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

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

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

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

3.2性能分析

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

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

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

重復(fù)三次,取均值。實(shí)驗(yàn)記錄為:

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

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

4結(jié)論

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

主站蜘蛛池模板: 国产在线高清一级毛片| 久久这里只有精品2| 日本91视频| 香蕉eeww99国产精选播放| 国产精品99在线观看| 婷婷六月综合| 久99久热只有精品国产15| 最新亚洲人成无码网站欣赏网 | 性视频久久| 日韩中文欧美| 麻豆精品在线视频| 欧美性猛交一区二区三区| 婷婷五月在线| 人人艹人人爽| 中文字幕 91| 国产青榴视频| 麻豆精选在线| 日本不卡在线视频| 99在线国产| 国产精品原创不卡在线| 亚洲天堂高清| 婷婷六月色| 青草精品视频| 人人91人人澡人人妻人人爽 | 青青久视频| 国产91蝌蚪窝| 在线观看国产精美视频| 久久久精品久久久久三级| 亚洲精品大秀视频| 亚洲欧洲日韩国产综合在线二区| 亚洲成年人网| 精品人妻一区无码视频| 亚洲区一区| 国产在线一区视频| 超碰色了色| 成人国产精品视频频| 激情無極限的亚洲一区免费| 激情成人综合网| a级毛片免费在线观看| 亚洲视频影院| 欧洲一区二区三区无码| 91麻豆国产在线| 国产va免费精品观看| 天天综合网亚洲网站| 四虎国产在线观看| 亚洲a免费| 一本色道久久88综合日韩精品| 色综合五月婷婷| 国产亚洲高清视频| 青草精品视频| 欧美一区二区精品久久久| 亚洲日本在线免费观看| 色综合成人| 欧美日本视频在线观看| 最新亚洲人成无码网站欣赏网| 伊人天堂网| 亚洲国产成人精品一二区| 国产精品林美惠子在线播放| 无码中文字幕加勒比高清| 日本一区二区三区精品视频| 91蜜芽尤物福利在线观看| 亚洲 日韩 激情 无码 中出| 亚洲国产第一区二区香蕉| 午夜a视频| 欧美狠狠干| 亚洲国产天堂在线观看| 亚洲午夜福利在线| 国产精品免费露脸视频| 四虎影视国产精品| 国产福利2021最新在线观看| 99久久精品国产综合婷婷| 国产成年女人特黄特色大片免费| 国产成人精品在线| 欧美精品亚洲精品日韩专区| 免费在线一区| 国产精品999在线| 天天操精品| 亚洲无码视频图片| 亚洲福利视频一区二区| 996免费视频国产在线播放| 国产精品亚洲欧美日韩久久| 欧美日韩午夜|