国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Hadoop集群中作業(yè)調(diào)度研究

2015-04-30 12:53燕明磊
軟件導刊 2015年4期

燕明磊

摘要摘要:Hadoop是目前應用最廣泛的分布式框架,作業(yè)調(diào)度是其重要環(huán)節(jié),它直接關系到集群的性能與資源利用率。研究了作業(yè)調(diào)度流程、作業(yè)調(diào)度策略模式,對Hadoop自帶的3種調(diào)度器的設計要點與配置方法進行了探討。

關鍵詞關鍵詞:Hadoop; 作業(yè)調(diào)度; 調(diào)度器

DOIDOI:10.11907/rjdk.1431066

中圖分類號:TP301

文獻標識碼:A文章編號文章編號:16727800(2015)004000102

0引言

隨著云計算的興起和大數(shù)據(jù)[1]時代的到來,傳統(tǒng)的數(shù)據(jù)處理方法在系統(tǒng)擴展性、復雜應用適用性、海量數(shù)據(jù)處理速度與存儲等方面均遇到了很大的瓶頸問題,已經(jīng)越來越難以適應新應用的要求,而這些瓶頸問題正是分布式系統(tǒng)所擅長的。Apache Hadoop[2]是一個開源、高效的分布式平臺,它運用一切可以利用的資源,以“云”的形式解決大型復雜計算問題,同時還可以滿足每個用戶的需求。Hadoop是基于Java語言的分布式密集數(shù)據(jù)處理和數(shù)據(jù)分析軟件框架,是一種低成本處理的大數(shù)據(jù)平臺。

1Hadoop平臺

Hadoop有兩大核心框架:分布式文件系統(tǒng)HDFS和分布式計算框架Map/Reduce。HDFS是一個高可靠、透明、支持并發(fā)與容錯的文件系統(tǒng),基于主從結(jié)構(gòu)設計,由NameNode和DataNode共同完成,其中數(shù)據(jù)以數(shù)據(jù)塊(block)的形式存儲,NameNode主要負責數(shù)據(jù)塊元數(shù)據(jù)的存儲及數(shù)據(jù)塊的動態(tài)信息,DataNode負責數(shù)據(jù)塊的存儲。HDFS是Map/Reduce的存儲基礎。Map/Reduce[3]是并行處理大數(shù)據(jù)的計算框架,簡單說就是任務的合成與分解。Hadoop的Map/Reduce也是一種主從結(jié)構(gòu)設計,由JobTracker和TaskTracker兩部分組成。JobTracker是主服務節(jié)點,其任務之一是負責作業(yè)的切分與任務的調(diào)度分配;TaskTracker是從節(jié)點,主要負責任務的執(zhí)行。

2Hadoop作業(yè)調(diào)度

JobTracker服務于整個Map/Reduce計算框架,負責整個集群的作業(yè)控制和資源管理。作業(yè)控制主要是監(jiān)控作業(yè)的狀態(tài),在任務調(diào)度時提供調(diào)度依據(jù)。作業(yè)調(diào)度是影響Hadoop集群性能的重要方面,直接決定了作業(yè)執(zhí)行效率和集群資源利用率。作業(yè)調(diào)度由JobTracker節(jié)點上任務調(diào)度模塊完成,調(diào)度流程見圖1。

Hadoop作業(yè)調(diào)度采用三級策略模式[4]。Hadoop將作業(yè)執(zhí)行過程分為Map階段和Reduce階段,分別對應Map任務和Reduce任務。這些任務被分配在集群節(jié)點的任務槽(slot)上執(zhí)行,任務槽是節(jié)點資源的一種簡化表示形式,每個節(jié)點根據(jù)計算資源配置有一系列的Map槽和Reduce槽,典型的配置是節(jié)點的每個CPU配置一個槽,調(diào)度器的功能就是為任何空閑的slot分配任務。所有調(diào)度器采用三級策略,即為空閑的slot依次選取隊列、作業(yè)、任務。

3Hadoop調(diào)度方法

Hadoop有3種調(diào)度器:批處理調(diào)度器FIFO及兩個多用戶調(diào)度器Fair Scheduler和Capacity Scheduler,本文重點研究這3種調(diào)度器。

3.1FIFO調(diào)度

FIFO是默認的調(diào)度方式,該調(diào)度將所有作業(yè)都提交到JobQueue隊列, JobTracker先按照作業(yè)優(yōu)先級高低,再按照提交時間的先后順序執(zhí)行作業(yè)。Hadoop中只有一個作業(yè)隊列,被提交的作業(yè)按照先后順序在作業(yè)隊列中排隊,新來的作業(yè)排在隊尾。一個作業(yè)運行完后,總是從隊首進行下一個作業(yè)。這種調(diào)度策略的優(yōu)點是簡單、易于實現(xiàn),減輕了Jobtracker的負擔。缺點是對所有作業(yè)都一視同仁,沒有考慮到作業(yè)的緊迫程度,因而對小作業(yè)的運行不利。

3.2Fair調(diào)度

Fair調(diào)度適用于多用戶情形。算法設計思想是當集群中多個用戶提交作業(yè)時,為了保證公平性,調(diào)度器為每個用戶或組分配一個資源池,資源池里的每個作業(yè)都會按照其作業(yè)權(quán)重分配最小的資源共享量,以保證每個作業(yè)都能得到執(zhí)行。當集群中的某個節(jié)點出現(xiàn)空閑的slot時,則選擇已獲得的資源量和理論上應獲得的資源量的差值最大的作業(yè)來執(zhí)行,以保證公平。與FIFO相比,它支持多用戶多隊列、資源公平共享、保證最小共享量、支持時間片搶占、限制作業(yè)并發(fā)量、防止中間數(shù)據(jù)塞滿硬盤、動態(tài)調(diào)整各個資源池的資源量等,以保證調(diào)度的公平。

3.3Capacity調(diào)度

Capacity調(diào)度同樣支持多用戶。其設計思想是支持多個隊列,每個隊列可配置一定的資源量,采用FIFO調(diào)度策略。為了防止同一用戶的作業(yè)獨占隊列資源,該調(diào)度器會對同一用戶提交的作業(yè)所占資源量進行限定。調(diào)度時,首先計算每個隊列中正在運行的任務數(shù)與其應該分得的計算資源比值,選擇該比值最小的隊列;然后按照作業(yè)優(yōu)先級和提交時間順序選擇,同時考慮用戶資源量限制和內(nèi)存限制。該調(diào)度器的特點是保證計算能力、資源分配靈活、支持優(yōu)先級、支持多重租賃、支持資源密集型作業(yè),允許作業(yè)使用的資源量高于默認值。

4Hadoop調(diào)度器設計

隨著各種應用需求的提升,已有的調(diào)度器已很難適應需求的變化,因此調(diào)度器設計也要升級。Hadoop中任務調(diào)度器被設計成一個可插拔的模塊,設計從三方面考慮:①編寫JobInProgressListener;②編寫調(diào)度器類,繼承抽象類TaskScheduler;③配置并啟用Hadoop調(diào)度器。

編寫JobInProgressListener抽象類:

abstract Class JobInProgressListener throws IOException {

public abstract void JobAdded(JobInProgress job);

public abstract void JobRemoved (JobInProgress job);

public abstract void JobUpdated(JobChangeEvent event);

}

配置并啟用Hadoop調(diào)度器:

mapred.jobtracker.taskScheduler

org.apache.hadoop.mapred.MyScheduler

5結(jié)語

Hadoop作業(yè)調(diào)度的研究對于集群性能的提升具有重要意義。由于Hadoop使用了單JobTracker進行作業(yè)調(diào)度,對于Hadoop MapReduce計算架構(gòu)而言,提交的大量作業(yè)以及大規(guī)模的TaskTracker分布必將給JobTracker帶來巨大的工作壓力,因此運行的調(diào)度算法一定不能過于復雜。此外單JobTracker直接影響了Hadoop集群的可用性,一旦JobTracker失效或者宕機,那么整個集群將崩潰。因此,今后的Hadoop集群作業(yè)調(diào)度可能由多個JobTracker協(xié)同完成,相關的JobTracker分布式作業(yè)調(diào)度和資源管理算法將是下一個研究重點。

參考文獻參考文獻:

[1]王珊,王會舉,覃雄派,等. 架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J]. 計算機學報 2011,34(10):17411752.

[2]APACHE HADOOP.Hadoop[EB/OL]. http://hadoop.apache.org.

[3]李建江,崔健,王聃,等. MapReduce并行編程模型研究綜述[J].電子學報, 2011,39(11):26352642.

[4][美]TOM WHITE. Hadoop權(quán)威指南[M].第2版. 北京:清華大學出版社,2011.

責任編輯(責任編輯:杜能鋼)

杭州市| 垫江县| 通河县| 寿宁县| 视频| 蒲江县| 上栗县| 明星| 肥城市| 新竹市| 广东省| 太原市| 仙桃市| 武胜县| 沙雅县| 集安市| 慈利县| 威远县| 武山县| 新河县| 左权县| 濉溪县| 新建县| 翁牛特旗| 平遥县| 青海省| 通城县| 万全县| 师宗县| 铜山县| 巧家县| 浦江县| 旬阳县| 将乐县| 海晏县| 凤阳县| 炎陵县| 普安县| 防城港市| 宁城县| 探索|