《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種優化的Hadoop副本放置策略
一種優化的Hadoop副本放置策略
2015年微型機與應用第16期
蔡燕冬,劉 艷,張慶磊
(華僑大學 計算機科學與技術學院,福建 廈門 361021)
摘要: Hadoop分布式文件系統默認采用三副本策略實現較為簡單,未對數據節點負載進行充分考慮。為了改善HDFS中集群負載的均衡性,提高數據節點的資源利用率,提出一種優化的副本放置策略。該策略綜合考慮數據節點的實時負載信息和工作進程數,選擇負載最小的節點存放數據。實驗結果表明,與默認策略相比,優化的Hadoop副本放置策略能使副本分布更加合理,集群的均衡性更加良好,并能減少數據上傳響應時間。
Abstract:
Key words :

  摘  要Hadoop分布式文件系統默認采用三副本策略實現較為簡單,未對數據節點負載進行充分考慮。為了改善HDFS中集群負載的均衡性,提高數據節點的資源利用率,提出一種優化的副本放置策略。該策略綜合考慮數據節點的實時負載信息和工作進程數,選擇負載最小的節點存放數據。實驗結果表明,與默認策略相比,優化的Hadoop副本放置策略能使副本分布更加合理,集群的均衡性更加良好,并能減少數據上傳響應時間。

  關鍵詞: Hadoop;副本放置;實時負載;負載均衡

0 引言

  HDFS副本放置策略設計是基于節點硬件性能同構的基礎之上,其采用三副本冗余機制保證數據的安全性。整體的副本存儲策略如圖1所示。HDFS整體的副本放置策略的原則為:盡最大可能將其中兩個數據塊副本存儲在一個機架上,將另一個數據塊副本存儲在另一個機架上,很好地在帶寬資源及可靠性方面做了平衡[1]。然而默認副本放置策略具有一定的局限性,已有不少的研究致力于優化Hadoop的數據塊副本放置策略。參考文獻[2]從數據塊熱度的角度出發,讓經常使用的數據塊擁有更多的副本以達到更高的并行處理效率。參考文獻[3]將數據塊副本更多地放置在性能較好的節點上,有效提升mapreduce的性能。參考文獻[4]從節點的網絡距離和節點負載兩方面進行考慮,為HDFS的遠程數據副本選擇最優的存儲位置。參考文獻[5]則優先讓使用率低的節點被選中作為存儲節點。受這些研究工作的啟發,本文提出一種優化的Hadoop副本放置策略旨在提高集群節點負載的均衡性,最終達到提升數據傳輸效率的目的。

001.jpg

1 HDFS副本放置優化策略

  1.1 HDFS副本放置策略的局限性

  默認HDFS副本放置策略的局限性主要體現如下:在選取副本存儲節點時采用了隨機方式,HDFS雖然也考慮了數據節點的工作接連數的負載信息,但相對簡單,并且是在隨機選取存儲節點之后才做出判斷。這樣的副本放置方式將導致副本的分布隨意性大,特別在異構環境中很有可能出現分配較多數據副本的節點是性能較差的節點,這些情況將進一步造成有些節點具有很高的負載,有些節點卻處于空閑狀態造成數據傳輸效率的下降。

  1.2 優化HDFS副本放置策略

  從1.1節的分析可以看出,在默認策略中,名字節點對于數據節點的狀態信息缺乏感知,無法做出更為精確的副本位置選取工作。為此,本文的優化策略將重點考慮如下兩個評價指標,增加名字節點副本放置節點選取的準確性、合理性。

  (1)節點實時負載:實時負載W由數據節點的多個指標衡量,分別為磁盤IO負載、內存負載、CPU負載、網絡負載。W的計算公式為:

  W=λio×wio+λmem×wmem+λcpu×wcpu+λband×wband

  其中,wio、wmem、wcpu、wband分別代表了磁盤IO負載、內存負載、CPU負載、網絡負載;λio、λmem、λcpu、λband則代表了衡量節點工作負載時的節點磁盤、內存、CPU、網絡帶寬所占的比重,λio+λmem+λcpu+λband=1,λio、λmem、λcpu、λband∈[0,1]。權值的選取采用運籌學中的層次分析法(Analytic Hierarchy Process,AHP)來確定。該方法適用于難以定量分析的決策性問題。

  (2)HDFS工作進程:即數據節點HDFS寫入、讀取等工作的連接數。由于這些負載都是比值的關系,在異構環境下有些節點可能由于性能較好,其某些實時負載處于較低水平,在節點性能嚴重不均衡時將導致集群大量副本存儲在個別高性能節點上。該負載信息能控制一個數據節點上進行的HDFS工作進程,抑制某個數據節點進行過多的HDFS服務。

  依據上述兩個指標,某數據副本放置位置的選取的主要思想是:從指定的機架位置上隨機選取一定數量的數據節點集,然后從該集合中進一步選取工作連接數低于集群平均工作連接數的數據節點集合,最后在該集合中選擇實時負載最小的節點作為副本位置放置節點。為方便下面的描述,該思想標記為算法1。

  整體上副本放置位置的選取依然遵循將副本盡量放在不同機架上以保證可靠性的原則,從最常見的3副本方案出發,其整體副本選取方案如下:

  While還需選取的副本數>0

  if第一副本選取then

  if客戶端節點是數據節點then

  選擇該節點

  else通過指定所有集群機架通過算法1去選取節點

  else if第二副本選取then

  指定除去第一副本所在機架外的所有機架通過算法1去選取節點

  else if第三副本選取then

  if第一、二副本所在節點在同一機架then

  指定除去第二副本所在機架外的所有機架通過算法1去選取節點

  else指定第二副本所在機架通過算法1去選取節點

  1.3 層次分析法的權值確定工作

  美國運籌學家Saaty教授提出的層次分析法是多屬性決策中的重要方法[6]。對于存在多個影響指標的情況,評價各方案的優劣程度的這類問題可以使用AHP方法來解決。AHP方法的思想是把復雜問題中的各種因素進行分層,分層是有次序的,層次之間也是有聯系的,將每個層次的元素兩兩比較,并定量描述它們的相對重要性。最后使用數學方法計算權值,用權值反映每一層次元素的相對重要性次序。

  本文從實時負載的實際情況出發進行建模,如圖2所示。

002.jpg

  對準則層的各個因素進行兩兩對比,構建判斷矩陣,如表1所示。

005.jpg

  對表1構成的判斷矩陣通過合法的計算方式,求取其最大特征根λmax和歸一化的特征向量W。得到λmax= 4.119,W=(0153,0.072,0.531,0.245)T,最后進行判斷矩陣一致性檢驗,發現其誤差值0.044小于閾值0.10,即通過判斷矩陣的一致性檢驗,因此特征向量W的值是合理的,最終實時負載的權值確定為:λcpu=0.153、λmem=0.072、λio=0.531、λband=0.245。

2 實驗與分析

  優化的HDFS副本放置策略的實驗基于Hadoop-1.0.0。集群中存在兩種性能不同的計算機節點,分別標識為性能A節點和性能B節點,其中A節點的主要硬件配置為:3.30 GHz的Inter(R)Core(TM)i3-3220 CPU, 2 GB DDR3的內存,7 200 rpm的500 GB硬盤;B節點的主要硬件配置為:2.93 GHz的Inter(R)Core(TM)2Duo(E7500)CPU,2 GB DDR3的內存,4 500 rpm的500 GB硬盤。整個集群由1個機架組成,集群配置成1個名字節點、8個數據節點和1個客戶端的形式。其中性能A的數據節點編號為1、2、7、8,性能B的數據節點編號為3、4、5、6。實驗中涉及的數據讀寫操作均通過客戶端發出。

003.jpg

  圖3和圖4分別展示了在默認策略和優化策略下通過客戶端寫入1 000個數據塊時的副本分布情況。從圖3可以看出,在默認策略下,副本放置位置是通過隨機算法獲取的,因此副本的分布顯得較為隨意,波動性也比較大。副本的分布不具目的性,例如數據節點1和數據節點5,通過實驗配置可知數據節點1在性能上比數據節點5要更優越,然而數據節點1卻比數據節點5少存儲了100多個副本,這樣的分布顯然不太合理。而優化策略下,副本的分布顯然更具目的性。如圖4所示,性能更好的1、2、7、8數據節點存儲的副本總量要多于性能較差的3、4、5、6數據節點。這是由于考慮了實時負載,性能更好的節點其負載程度相對較輕,存儲副本的概率較大。然而其總量上的區別還算合理,這是因為本文考慮了另一個因素HDFS工作進程,它能有效地限制一個節點進行過量的操作。而且,整體的存儲情況是優化策略要顯得更加均衡,這也是因為考慮了實時負載因素在無形中增加了低負載節點的工作量,減小了高負載節點的工作量,最終使優化策略的副本分布看起來更加平衡。

004.jpg

  最后本文通過客戶端寫入200、500、1 000個數據塊,對比數據傳輸的時間,結果如圖5所示。從圖5可以看出由于優化副本策略考慮了節點的實時負載,在一定程度上避開了實時負載繁忙的節點,有效地均衡了節點的負載,并有目的地適當提高了性能較高節點的使用,充分發揮其性能優勢,最終實現了縮短存儲型數據寫入時間的目的。

3 結論

  本文分析了HDFS默認副本放置策略的局限性,并據此提出了一種優化的副本放置策略,該策略綜合考慮了實時負載和HDFS工作進程數,有效提高了副本的合理分布。通過實驗表明,相比于默認策略,優化的副本放置策略具有更明確的目的性,盡量選擇了最低實時負載節點,避開了高負載節點的存儲,最終提升了副本傳輸的時間。本文還通過科學的AHP方法確定了實時負載的權值,更加精確了實時負載的評估準確性。

參考文獻

  [1] WHITE T. Hadoop: The definitive guide[M]. O′Reilly Media, Inc., 2012.

  [2] ABAD C L, Lu Yi, CAMPBELLR H. Dare: adaptive data replication for efficient cluster scheduling[C]. Proceedings of the 2011 IEEE International Conference on Cluster Computing, USA: IEEE Computer Society, 2011:159-168.

  [3] Xie Jiong, Yin Shu, Ruan Xiaojun, et al. Improving mapreduce performance through data placement in heterogeneous hadoop clusters[C]. 2010 IEEE International Symposium on Parallel Distributes Processing, Workshops and Phd Forum(IPDPSW), Atlanta: IEEE Press, 2010:1-9.

  [4] 林偉偉.一種改進的Hadoop數據放置策略[J].華南理工大學學報(自然科學版),2012,36(1):152-158.

  [5] 邵秀麗,王亞光,李云龍,等.Hadoop副本放置策略[J].智能系統學報,2013,8(6):489-496.

  [6] 徐玖平,吳巍.多屬性決策的理論與方法[M].北京:清華大學出版社,2006.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 毛片无遮挡 | 一级做a爰片久久毛片唾 | 一区二区中文字幕 | 国产成人精品免费久久久久 | 无码专区aaaaaa免费视频 | 最近免费中文字幕完整4 | 国产精品手机在线亚洲 | 亚洲国产日韩欧美在线 | 欧美成人www在线观看网页 | 亚洲欧美日韩中文字幕在线一 | 天天操天天擦 | 色综合五月天 | 免费看黄网站大全 | 色婷亚洲 | 色综合视频在线观看 | 精品欧美一区手机在线观看 | 欧美不卡一区 | 国产毛片儿| 在线视频日韩精品 | 最新日本免费一区二区三区中文 | 97夜夜操| 男女无遮挡在线完整视频 | 爽爽窝窝午夜精品一区二区 | 欧美精品在线观看视频 | 日本欧美国产精品第一页久久 | 插插好爽爽爽 | a级黄视频 | 天堂视频在线免费观看 | 一女多男高h | 国产片一区二区三区 | 在线视频永久在线视频 | 一级特黄a免费大片 | 成人午夜小视频手机在线看 | 91大片淫黄大片.在线天堂 | 天海翼一区二区三区四区 | 日韩ab| 亚洲欧美日韩中文字幕在线 | 男女国产一级毛片 | 一级黄色片一级黄色片 | 亚洲综合久久伊人热 | 人人舔人人插 |