HDFS糾刪碼機(jī)制的優(yōu)化研究
發(fā)布時(shí)間:2020-07-01 13:43
【摘要】:隨著數(shù)據(jù)量的不斷增長(zhǎng),存儲(chǔ)成本也成倍增加,對(duì)存儲(chǔ)系統(tǒng)的經(jīng)濟(jì)性提出了更高的要求,尤其是大型分布式存儲(chǔ)系統(tǒng)。作為最為廣泛使用的分布式存儲(chǔ)系統(tǒng)之一,HDFS在最新的3.0版本中開(kāi)始支持糾刪碼機(jī)制,這極大地降低了存儲(chǔ)成本,但是受限于糾刪碼本身的特性,與傳統(tǒng)的三副本技術(shù)相比,糾刪碼機(jī)制在進(jìn)行故障恢復(fù)時(shí)需要占用更多的計(jì)算機(jī)資源,恢復(fù)時(shí)間更長(zhǎng),這在大型分布式系統(tǒng)中表現(xiàn)的尤為明顯。HDFS應(yīng)用的糾刪碼技術(shù),主要采用的是里德-所羅門(mén)碼(RS),該編碼在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),需要從其他節(jié)點(diǎn)讀取大量數(shù)據(jù)塊。與此同時(shí),HDFS在選擇恢復(fù)所需的數(shù)據(jù)塊時(shí)主要使用隨機(jī)算法,這導(dǎo)致了糾刪碼在讀取等量的數(shù)據(jù)時(shí)將浪費(fèi)更多的時(shí)間。本文將從減少所需要讀取的數(shù)據(jù)塊的數(shù)量和優(yōu)化其塊選擇算法兩個(gè)角度,對(duì)HDFS的糾刪碼機(jī)制進(jìn)行一定優(yōu)化,降低恢復(fù)時(shí)間,提高恢復(fù)效率。本文首先對(duì)HDFS中現(xiàn)有的糾刪碼機(jī)制進(jìn)行了深入的分析,通過(guò)對(duì)比實(shí)驗(yàn)的方式,從資源開(kāi)銷(xiāo)、恢復(fù)時(shí)間等多個(gè)角度,對(duì)糾刪碼機(jī)制與傳統(tǒng)的三副本機(jī)制進(jìn)行對(duì)比研究。接著,本文基于Piggybacking編碼框架對(duì)HDFS采用的RS編碼進(jìn)行了優(yōu)化設(shè)計(jì)和實(shí)現(xiàn),用更細(xì)粒度的條帶組代替原先恢復(fù)時(shí)的單條帶,通過(guò)附加信息,有效地減少故障恢復(fù)所需的數(shù)據(jù)塊數(shù)量,從而減少讀取時(shí)間,降低恢復(fù)的時(shí)間成本。然后,本文提出了基于距離的塊選擇算法和基于負(fù)載均衡的塊選擇算法。對(duì)于基于距離的塊選擇算法,通過(guò)對(duì)機(jī)架間帶寬和節(jié)點(diǎn)間距離關(guān)系的分析,將減少機(jī)架間帶寬占用問(wèn)題轉(zhuǎn)化為選取距離最近點(diǎn)問(wèn)題,提出按照節(jié)點(diǎn)距離遠(yuǎn)近選取輔助節(jié)點(diǎn)的算法,有效減少了機(jī)架間帶寬傳輸,提高了傳輸?shù)钠骄鶐?對(duì)于基于負(fù)載均衡的塊選擇算法,通過(guò)對(duì)數(shù)據(jù)節(jié)點(diǎn)運(yùn)行狀態(tài)的分析,建立了一個(gè)節(jié)點(diǎn)運(yùn)行狀態(tài)權(quán)重模型,根據(jù)各節(jié)點(diǎn)的權(quán)重值選擇輔助節(jié)點(diǎn),確保選到的節(jié)點(diǎn)負(fù)載相對(duì)較輕,降低由于節(jié)點(diǎn)狀態(tài)變化導(dǎo)致數(shù)據(jù)請(qǐng)求無(wú)法及時(shí)得到響應(yīng)的情況發(fā)生的概率,提高恢復(fù)成功率。所以,可以根據(jù)自身需求選擇其中一種使用。最后,將修改完成的Hadoop程序與未進(jìn)行修改的Hadoop程序分別部署到集群上。結(jié)合各種負(fù)載和基準(zhǔn)測(cè)試用例,通過(guò)改變文件大小、節(jié)點(diǎn)配置等方式,進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明本文提出的優(yōu)化算法確實(shí)能夠提高HDFS糾刪碼機(jī)制的性能,減少故障恢復(fù)時(shí)間。
【學(xué)位授予單位】:哈爾濱工業(yè)大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類(lèi)號(hào)】:TP333
【圖文】:
在其中分配足夠的數(shù)據(jù)塊,在塊組類(lèi)的 iNodefile 中存儲(chǔ)有該文件所采用的編碼方式。這樣才能夠?qū)⑽募⑿械貙?xiě)入到各個(gè)數(shù)據(jù)塊中。塊組中的數(shù)據(jù)塊 ID 也與原先的數(shù)據(jù)塊 ID 生成方式不同。(2)糾刪碼機(jī)制系統(tǒng)架構(gòu)HDFS 糾刪碼機(jī)制的整體架構(gòu)如圖 2-4 所示[11]。首先,在 NameNode 中引入了 ECManager 類(lèi),這個(gè)類(lèi)主要負(fù)責(zé)管理塊組,包含塊組的分配,塊地址的選擇,塊組健康度的監(jiān)測(cè)以及壞塊恢復(fù)工作時(shí)節(jié)點(diǎn)間相互協(xié)作。在 DataNode 端加入了 ECWorker 類(lèi)。正常情況下,DataNode 不會(huì)進(jìn)糾刪碼操作。這個(gè)類(lèi)會(huì)創(chuàng)建一個(gè)守護(hù)進(jìn)程,監(jiān)聽(tīng)來(lái)自于 NameNode 的 ECManager 的命令,包含傳輸命令和恢復(fù)命令。它主要負(fù)責(zé)將數(shù)據(jù)傳輸?shù)较鄳?yīng)的數(shù)據(jù)節(jié)點(diǎn)上,同時(shí)對(duì)這些數(shù)據(jù)進(jìn)行編解碼計(jì)算,失效塊恢復(fù)等操作。在每一次的操作中,首先由 ECManager發(fā)起,告訴 ECWoker 所采用的糾刪碼策略,然后由 ECWorker 去完成剩下來(lái)的操作。最后 ECClient 完成了對(duì) HDFS 客戶端的擴(kuò)展,實(shí)現(xiàn)了將數(shù)據(jù)分成小的條帶單元并行存儲(chǔ)到各個(gè) DataNode 當(dāng)中去,或者將多個(gè) DataNode 中的條帶單元讀取出來(lái)。該框架還允許使用者自己配置所要使用的糾刪碼策略以及塊組的布局方式。
寫(xiě)入測(cè)試
【學(xué)位授予單位】:哈爾濱工業(yè)大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類(lèi)號(hào)】:TP333
【圖文】:
在其中分配足夠的數(shù)據(jù)塊,在塊組類(lèi)的 iNodefile 中存儲(chǔ)有該文件所采用的編碼方式。這樣才能夠?qū)⑽募⑿械貙?xiě)入到各個(gè)數(shù)據(jù)塊中。塊組中的數(shù)據(jù)塊 ID 也與原先的數(shù)據(jù)塊 ID 生成方式不同。(2)糾刪碼機(jī)制系統(tǒng)架構(gòu)HDFS 糾刪碼機(jī)制的整體架構(gòu)如圖 2-4 所示[11]。首先,在 NameNode 中引入了 ECManager 類(lèi),這個(gè)類(lèi)主要負(fù)責(zé)管理塊組,包含塊組的分配,塊地址的選擇,塊組健康度的監(jiān)測(cè)以及壞塊恢復(fù)工作時(shí)節(jié)點(diǎn)間相互協(xié)作。在 DataNode 端加入了 ECWorker 類(lèi)。正常情況下,DataNode 不會(huì)進(jìn)糾刪碼操作。這個(gè)類(lèi)會(huì)創(chuàng)建一個(gè)守護(hù)進(jìn)程,監(jiān)聽(tīng)來(lái)自于 NameNode 的 ECManager 的命令,包含傳輸命令和恢復(fù)命令。它主要負(fù)責(zé)將數(shù)據(jù)傳輸?shù)较鄳?yīng)的數(shù)據(jù)節(jié)點(diǎn)上,同時(shí)對(duì)這些數(shù)據(jù)進(jìn)行編解碼計(jì)算,失效塊恢復(fù)等操作。在每一次的操作中,首先由 ECManager發(fā)起,告訴 ECWoker 所采用的糾刪碼策略,然后由 ECWorker 去完成剩下來(lái)的操作。最后 ECClient 完成了對(duì) HDFS 客戶端的擴(kuò)展,實(shí)現(xiàn)了將數(shù)據(jù)分成小的條帶單元并行存儲(chǔ)到各個(gè) DataNode 當(dāng)中去,或者將多個(gè) DataNode 中的條帶單元讀取出來(lái)。該框架還允許使用者自己配置所要使用的糾刪碼策略以及塊組的布局方式。
寫(xiě)入測(cè)試
【參考文獻(xiàn)】
相關(guān)期刊論文 前6條
1 李揮;張宇蒙;陳俊;;大數(shù)據(jù)環(huán)境下的可靠存儲(chǔ)技術(shù)思考[J];中興通訊技術(shù);2015年05期
2 卞藝杰;馬瑞敏;李亞冰;吳慧;;基于糾刪碼的HDFS存儲(chǔ)方案[J];計(jì)算機(jī)系統(tǒng)應(yīng)用;2014年11期
3 黃顯霞;李揮;張宇蒙;侯韓旭;周泰;郭涵;張華宇;;基于二元再生碼的大數(shù)據(jù)存儲(chǔ)系統(tǒng)研究[J];計(jì)算機(jī)研究與發(fā)展;2013年S2期
4 朱媛媛;王曉京;;基于GE碼的HDFS優(yōu)化方案[J];計(jì)算機(jī)應(yīng)用;2013年03期
5 李曉愷;代翔;李文杰;崔U
本文編號(hào):2736837
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2736837.html
最近更新
教材專(zhuān)著