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

?

云計(jì)算環(huán)境中HDFS數(shù)據(jù)塊存儲策略研究

2020-11-02 02:36:18袁愛平陶志勇鄧河陳為滿
電腦知識與技術(shù) 2020年26期
關(guān)鍵詞:數(shù)據(jù)存儲云計(jì)算

袁愛平 陶志勇 鄧河 陳為滿

摘要:HDFS(Hadoop Distributed File System)以流式數(shù)據(jù)訪問模式存儲超大文件,具有高可靠性、高擴(kuò)展性、低成本等特性,已廣泛運(yùn)行于商用硬件集群中。但在云計(jì)算系統(tǒng)中,由于采用了虛擬化技術(shù),文件存儲時(shí)如采用HDFS默認(rèn)的存儲策略,將帶來數(shù)據(jù)可靠性的下降。本文通過對HDFS存儲方法的改進(jìn),提出了一種充分考慮云環(huán)境中虛擬機(jī)存儲位置的數(shù)據(jù)塊存儲策略,避免了多個數(shù)據(jù)塊副本存儲在同一臺物理機(jī)器上。實(shí)驗(yàn)結(jié)果證明,該方法均衡了數(shù)據(jù)塊在物理節(jié)點(diǎn)中的存儲,提高了系統(tǒng)的可靠性。

關(guān)鍵詞:云計(jì)算;HDFS;位置感知;數(shù)據(jù)存儲

中圖分類號:TP301 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2020)26-0033-03

Abstract: HDFS (Hadoop Distributed File System), which stores large files in streaming data access mode, has the characteristics of high reliability, high scalability and low cost, and has been widely used in commercial hardware clusters. However, in the cloud computing system, due to the virtualization technology, if the default storage strategy of HDFS is used in file storage, the data reliability will be reduced. Through the improvement of HDFS storage method, this paper proposes a data block storage strategy that fully considers the storage location of virtual machine in cloud environment, avoiding multiple data block copies stored on the same physical machine. Experimental result shows that this method balances the placement of data blocks in physical nodes and improves the reliability of the system.

Key words: cloud computing; HDFS; location awareness; data storage

隨著信息技術(shù)的快速發(fā)展,各種應(yīng)用系統(tǒng)正在以前所未有的速度產(chǎn)生出大量的數(shù)據(jù),怎樣對這些數(shù)據(jù)進(jìn)行高效處理已成為人們迫切關(guān)注的問題。Google公司研究提出了MapReduce并行計(jì)算模型和方法,以簡單方便地完成大規(guī)模數(shù)據(jù)的編程和計(jì)算處理。受到Google公司MapReduce思想的影響,開源系統(tǒng)Hadoop也在內(nèi)部實(shí)現(xiàn)了MapReduce計(jì)算框架,以一種可靠、高效、可伸縮的方式處理海量數(shù)據(jù)。Hadoop不要求集群中的機(jī)器高配置,大部分普通商用服務(wù)器就可以滿足要求,它通過提供多個副本和容錯機(jī)制來提高集群的可靠性。為了滿足大數(shù)據(jù)應(yīng)用對資源的動態(tài)需求,將大數(shù)據(jù)系統(tǒng)部署到云計(jì)算平臺中已成為目前的一種趨勢。云計(jì)算平臺資源分配靈活,能夠?qū)崿F(xiàn)“按需獲取”,方便了廣大中小型企業(yè)或者個人對大數(shù)據(jù)應(yīng)用的使用。

1 HDFS存儲系統(tǒng)

HDFS是一個以分布式方式存儲的文件系統(tǒng),主要負(fù)責(zé)數(shù)據(jù)的存儲與讀取,它運(yùn)行于商用硬件集群上,單個 HDFS 集群可以擴(kuò)展至幾千甚至上萬個節(jié)點(diǎn)[1]。HDFS集群是一個主/從結(jié)構(gòu)的分布式文件系統(tǒng),有一個NameNode節(jié)點(diǎn)和多個DataNode節(jié)點(diǎn)。NameNode節(jié)點(diǎn)管理文件系統(tǒng)的元數(shù)據(jù)和控制著外部客戶機(jī)的訪問,DataNode節(jié)點(diǎn)則是文件系統(tǒng)的工作節(jié)點(diǎn),它是真正存儲數(shù)據(jù)的地方。為了安全起見,在集群中通常還有一個Secondary NameNode節(jié)點(diǎn),用于備份NameNode中的數(shù)據(jù)。HDFS和磁盤一樣,以數(shù)據(jù)塊作為數(shù)據(jù)讀/寫的最小單位,默認(rèn)為64MB,這樣做的目的是最小化尋址開銷。用戶存儲在HDFS中的文件被劃分成幾個數(shù)據(jù)塊,分布式地存儲在DataNode節(jié)點(diǎn)上。

HDFS存儲數(shù)據(jù)塊的副本時(shí),它會盡量使副本放置在不同機(jī)架下面的DataNode節(jié)點(diǎn)中,以保證數(shù)據(jù)的可靠性。當(dāng)副本數(shù)是3時(shí),HDFS的默認(rèn)存儲策略是把第1個副本放在客戶端機(jī)器上,第2個副本放在與第1個副本不同機(jī)架下的節(jié)點(diǎn)中,第3個副本放在與第2個副本相同機(jī)架下且隨機(jī)選擇的一個節(jié)點(diǎn)中。當(dāng)副本數(shù)超過3時(shí),其他副本則會放在集群中隨機(jī)選擇的節(jié)點(diǎn)上,不過系統(tǒng)會盡量避免在相同的機(jī)架上放太多副本。一旦選定副本的放置位置,就會根據(jù)網(wǎng)絡(luò)拓?fù)鋭?chuàng)建一個管線。總的來說,這一方法不僅提供很好的穩(wěn)定性并實(shí)現(xiàn)了負(fù)載均衡,包括寫入帶寬、讀取性能和集群中塊的均勻分布。

對于同構(gòu)環(huán)境的物理集群,HDFS的默認(rèn)數(shù)據(jù)塊存儲策略能夠保證數(shù)據(jù)的可靠性,而在基于虛擬技術(shù)的云計(jì)算平臺中,同一個物理機(jī)器里面會共存多個虛擬機(jī),此時(shí)如把虛擬機(jī)節(jié)點(diǎn)當(dāng)作物理機(jī)節(jié)點(diǎn)對待來存儲數(shù)據(jù),將帶來數(shù)據(jù)可靠性的下降。

2 云中HDFS數(shù)據(jù)塊存儲設(shè)計(jì)

2.1 云中HDFS數(shù)據(jù)塊存儲研究現(xiàn)狀分析

針對同構(gòu)環(huán)境的數(shù)據(jù)放置策略不一定適合異構(gòu)的云計(jì)算環(huán)境,學(xué)者們開展了廣泛的研究。Zaharia等人[2]通過對集群計(jì)算框架中異常任務(wù)的檢測優(yōu)化,提高任務(wù)的備份成功率,從而提高云計(jì)算環(huán)境中數(shù)據(jù)的可靠性。針對云計(jì)算環(huán)境中網(wǎng)絡(luò)資源的共享和競爭等問題,Lei[3] 針對數(shù)據(jù)塊副本分發(fā)問題,提出了一種發(fā)現(xiàn)虛擬機(jī)內(nèi)聚性的機(jī)制,并設(shè)計(jì)了一種新的基于聚類的虛擬環(huán)境副本排列和組合重執(zhí)行調(diào)度技術(shù),減少了任務(wù)的響應(yīng)時(shí)間,降低了數(shù)據(jù)傳輸成本,而針對云中的節(jié)點(diǎn)異構(gòu)性特點(diǎn),Geng等人[4]從理論上分析了虛擬環(huán)境中的數(shù)據(jù)分配問題,設(shè)計(jì)了一種文件塊分配策略,實(shí)現(xiàn)了更好的數(shù)據(jù)冗余和負(fù)載平衡,提高了應(yīng)用程序的執(zhí)行性能。與此同時(shí),在地域異構(gòu)的云數(shù)據(jù)中心,Chen等人[5] 建立了最優(yōu)數(shù)據(jù)放置問題,提出了一種拓?fù)涓兄膯l(fā)式算法,構(gòu)造了抽象樹結(jié)構(gòu)的副本平衡分布樹和細(xì)節(jié)樹結(jié)構(gòu)的副本相似度分布樹,有效地降低全局?jǐn)?shù)據(jù)訪問成本,減少了意外的遠(yuǎn)程數(shù)據(jù)訪問,提高了MapReduce在云數(shù)據(jù)中心的性能。通過總結(jié)可以發(fā)現(xiàn),由于云計(jì)算環(huán)境的虛擬機(jī)節(jié)點(diǎn)失效常態(tài)化、異構(gòu)性和虛擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)多樣性等特點(diǎn),現(xiàn)有的數(shù)據(jù)存儲策略具有一定的局限性。

2.2 感知虛擬機(jī)位置的數(shù)據(jù)塊存儲策略

HDFS默認(rèn)采用機(jī)架感知的策略分配數(shù)據(jù)塊的存儲位置,它支持樹形的層次網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖1,其中D表示數(shù)據(jù)中心,R表示機(jī)架交換機(jī),H表示數(shù)據(jù)存儲節(jié)點(diǎn)。一個集群可能跨越多個數(shù)據(jù)中心,而每個數(shù)據(jù)中心又包含有多個機(jī)架交換機(jī),各個物理機(jī)器節(jié)點(diǎn)位于機(jī)架交換機(jī)下面。通常情況下,同一個機(jī)架交換機(jī)的網(wǎng)絡(luò)傳輸帶寬比跨越不同機(jī)架交換機(jī)的數(shù)據(jù)交換帶寬要高,即將同一個數(shù)據(jù)塊的多個副本放置到同一個機(jī)架交換機(jī)內(nèi)部時(shí),能夠減少數(shù)據(jù)寫入和讀取的時(shí)間,但是,若機(jī)架交換機(jī)發(fā)生故障,則將導(dǎo)致整個交換機(jī)內(nèi)的物理機(jī)器不能與外通信,使得機(jī)架內(nèi)部的數(shù)據(jù)不能被訪問[6]。

在云環(huán)境中,由于一個物理機(jī)器中包含多個虛擬機(jī),當(dāng)某個物理主機(jī)發(fā)生故障時(shí),主機(jī)中的虛擬機(jī)節(jié)點(diǎn)都將不可用,也就意味著位于虛擬機(jī)中的同一個數(shù)據(jù)塊的兩個甚至多個副本會同時(shí)丟失。以圖2為例,當(dāng)物理機(jī)節(jié)點(diǎn)PM1發(fā)生故障時(shí),位于PM1中的數(shù)據(jù)塊10的所有副本都會丟失,導(dǎo)致文件存儲的可靠性降低。

為了避免虛擬機(jī)共存對數(shù)據(jù)可靠性的影響,可以充分利用虛擬節(jié)點(diǎn)在物理宿主機(jī)中的位置信息來實(shí)現(xiàn)更好的數(shù)據(jù)塊分配。定義任意兩臺虛擬機(jī)之間的網(wǎng)絡(luò)距離如下:

在云環(huán)境中,一個Hadoop集群往往含有多個機(jī)架交換機(jī),在交換機(jī)下面又包括多個物理服務(wù)器。假設(shè)有m個虛擬機(jī)節(jié)點(diǎn)存在物理服務(wù)器中,表示為(vm1, vm2, ..., vmm)。我們定義一個距離矩陣D標(biāo)識不同虛擬機(jī)之間的網(wǎng)絡(luò)距離,矩陣大小為m*m,Dij則對應(yīng)了節(jié)點(diǎn)vmi和vmj的網(wǎng)絡(luò)距離,它們之間的網(wǎng)絡(luò)距離值如上定義。當(dāng)客戶端向集群寫入數(shù)據(jù)塊時(shí),假設(shè)文件包含的數(shù)據(jù)塊個數(shù)為n,副本的個數(shù)為r,則集群需要為每個數(shù)據(jù)塊尋找r個節(jié)點(diǎn)位置,總共的位置個數(shù)為n*r。對于每個數(shù)據(jù)塊,有可能放置到m個虛擬機(jī)節(jié)點(diǎn)中的任一個,則n個數(shù)據(jù)塊可能放置的位置個數(shù)為n*m。我們定義一個數(shù)據(jù)塊分布矩陣A,其中Aij表示數(shù)據(jù)塊j是否被放置到了虛擬機(jī)節(jié)點(diǎn)vmi。為了加強(qiáng)數(shù)據(jù)塊可靠性,定義如下的限制條件。

公式(1)限制了每個數(shù)據(jù)塊至多只能有一個副本放置在同一個虛擬機(jī)節(jié)點(diǎn)中,公式(2)則限制了在m個虛擬機(jī)節(jié)點(diǎn)中,每個數(shù)據(jù)塊應(yīng)該有r個不同的副本。

當(dāng)為某個數(shù)據(jù)塊尋找副本存儲位置時(shí),需要查找距離矩陣D,從中找出滿足數(shù)據(jù)可靠性限制條件的節(jié)點(diǎn),作為該數(shù)據(jù)塊的副本存儲位置,處理流程如圖3所示。

3 實(shí)驗(yàn)與結(jié)果分析

我們在基于OpenStack的私有云計(jì)算平臺中構(gòu)建了一個Hadoop集群環(huán)境,Hadoop版本為2.6.4。集群中包括1個NameNode節(jié)點(diǎn)和9個DataNode節(jié)點(diǎn),所有節(jié)點(diǎn)均被配置為3個虛擬計(jì)算核,4GB的內(nèi)存和50GB的磁盤空間。我們配置了2個千兆機(jī)架交換機(jī),一個交換機(jī)下配置了3臺物理機(jī)器,另一個交換機(jī)下配置了2臺物理機(jī)器。我們使用RandomWriter工具生成4GB、8GB和16GB三個不同大小的數(shù)據(jù)集,并且使用不同的策略(HDFS默認(rèn)策略和本文提出的優(yōu)化策略)將它們寫入HDFS集群中。在實(shí)驗(yàn)中數(shù)據(jù)塊的大小被設(shè)置為64MB,副本因子為3。隨后我們對不同數(shù)據(jù)集的數(shù)據(jù)可靠性指標(biāo)進(jìn)行了統(tǒng)計(jì),結(jié)果顯示采用HDFS的默認(rèn)放置策略,幾乎只有70%的數(shù)據(jù)塊能夠?qū)崿F(xiàn)分配到不同的物理機(jī)節(jié)點(diǎn)之中,而基于本文提出的存儲優(yōu)化策略,100%的數(shù)據(jù)塊都能被分配到不同的物理機(jī)節(jié)點(diǎn)中,意味著它們能達(dá)到與同構(gòu)物理環(huán)境相同的可靠性,統(tǒng)計(jì)結(jié)果如表1。

4 結(jié)束語

本文通過對HDFS的數(shù)據(jù)存儲和云計(jì)算環(huán)境中虛擬機(jī)資源調(diào)度的研究,分析了云環(huán)境中影響數(shù)據(jù)可靠性存儲的因素,設(shè)計(jì)了一種基于位置感知的數(shù)據(jù)塊存儲策略,實(shí)現(xiàn)了不同副本的隔離放置。最后在OpenStack私有云計(jì)算平臺通過實(shí)驗(yàn)進(jìn)行了驗(yàn)證,結(jié)果表明與HDFS默認(rèn)的數(shù)據(jù)塊副本放置策略相比,本文提出的優(yōu)化放置方法能夠很好地把數(shù)據(jù)塊副本分配到不同的物理機(jī)節(jié)點(diǎn)之中,提高了數(shù)據(jù)的可靠性。

參考文獻(xiàn):

[1] Konstantin S, Hairong K, Sanjay R, Robert C. The Hadoop Distributed File System[M]. In: Proc. of MSST. 2010: 1-10.

[2] Zaharia M, Chowdhury M, Franklin M. J, et al. Spark: cluster computing with working sets[C]//Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, 2010: 10.

[3] Lei L. Towards a high performance virtual hadoop cIuster[J]. Journal of Convergence Information Technology, 2018, 7(6): 292-303.

[4] Geng Y, Chen S, Wu Y, et al. Location-aware mapreduce in virtual cloud[C]//Parallel Processing(ICPP), 2018 International Conference[S.1.]:IEEE, 2018:275-284.

[5] Chen W, Paik I, Li Z. Tology-aware optimal data placement algorithm for network traffic optimization[J]. IEEE Transactions on Computers, 2016, 65(8): 2603-2617.

[6] 徐華. 基于云的大數(shù)據(jù)處理系統(tǒng)性能優(yōu)化問題研究[D]. 合肥:中國科學(xué)技術(shù)大學(xué),2018:55-59.

【通聯(lián)編輯:梁書】

猜你喜歡
數(shù)據(jù)存儲云計(jì)算
大數(shù)據(jù)時(shí)代檔案信息建設(shè)的認(rèn)識和實(shí)踐
淺談電力大數(shù)據(jù)平臺關(guān)鍵技術(shù)研究與應(yīng)用
開源數(shù)據(jù)庫數(shù)據(jù)存儲的實(shí)現(xiàn)路徑分析
基于Android開發(fā)的APP數(shù)據(jù)存儲研究
哈希算法在物聯(lián)網(wǎng)數(shù)據(jù)存儲中的應(yīng)用
志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
云計(jì)算與虛擬化
基于云計(jì)算的移動學(xué)習(xí)平臺的設(shè)計(jì)
實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
云計(jì)算中的存儲虛擬化技術(shù)應(yīng)用
科技視界(2016年20期)2016-09-29 13:34:06
庆安县| 花莲县| 蓬安县| 新蔡县| 穆棱市| 融水| 潼关县| 金塔县| 宝兴县| 衡阳市| 吉木乃县| 宜都市| 中宁县| 阿城市| 襄樊市| 滨州市| 合阳县| 错那县| 时尚| 开远市| 剑川县| 新巴尔虎右旗| 平塘县| 雅安市| 阳新县| 徐汇区| 尖扎县| 蓬溪县| 通山县| 克山县| 中宁县| 宁海县| 海南省| 垣曲县| 长葛市| 吉木萨尔县| 保康县| 巴南区| 临洮县| 安塞县| 盈江县|