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

?

基于Hadoop平臺的海量文件存儲策略研究*

2014-11-27 08:15江建舉孟憲軍馮延蓬何國坤
關(guān)鍵詞:海量名稱內(nèi)存

江建舉,仵 博,孟憲軍,馮延蓬,何國坤

(深圳職業(yè)技術(shù)學(xué)院 教育技術(shù)與信息中心,廣東 深圳518055)

基于信息化爆炸產(chǎn)生的海量數(shù)據(jù)非常復(fù)雜,既包含了結(jié)構(gòu)化的數(shù)據(jù)和半結(jié)構(gòu)化的數(shù)據(jù)、也包含了非結(jié)構(gòu)化的文本、視頻、圖像等信息[1].針對大數(shù)據(jù)的研究也逐漸成為業(yè)界研究的焦點(diǎn),大數(shù)據(jù)的采集、處理、存儲、集成、分析和安全等問題成為主要的研究目標(biāo)[2].其中基于分布式并行文件系統(tǒng)的分布式存儲技術(shù)是大數(shù)據(jù)存儲研究的首要選擇,當(dāng)前業(yè)界分別提出了GFS、PPFS、GPFS、PVFS、PFS和 HDFS等分布式文件系統(tǒng).Hadoop是一套用于海量數(shù)據(jù)處理的系統(tǒng)基礎(chǔ)平臺,能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行以一種可靠、高效、可伸縮的方式進(jìn)行分布式處理.Hadoop平臺的基本組件HDFS是當(dāng)前應(yīng)用和研究最廣泛的一種大數(shù)據(jù)存儲分布式文件系統(tǒng),其本質(zhì)上是一種流式分塊文件系統(tǒng),基本的設(shè)計是處理大文件(文件大小通常大于64MB),在處理海量小文件時,在擴(kuò)展性和性能方面將產(chǎn)生嚴(yán)重問題[3].本文研究一種改進(jìn)的 Hadoop文件存儲優(yōu)化策略,通過文件大小的預(yù)處理,進(jìn)行小文件的歸并,提出一種新的元數(shù)據(jù)管理策略和通用文件存儲模式,從而解決HDFS處理海量小文件導(dǎo)致的性能問題,可以為各種應(yīng)用場景提供服務(wù).

1 Hadoop平臺數(shù)據(jù)存儲描述

Hadoop平臺核心為分布式文件系統(tǒng) HDFS和分布式編程模型MapReduce.HDFS是Hadoop平臺的底層文件存儲系統(tǒng),它是一種運(yùn)行在大量廉價硬件上的分布式文件系統(tǒng),主要負(fù)責(zé)分布式數(shù)據(jù)存儲及管理,具有高容錯性,雖然部署在低成本的硬件上,但是能提供高吞吐量的數(shù)據(jù)存取服務(wù),其核心是以數(shù)據(jù)流的方式來訪問存儲文件,這極大的提高了系統(tǒng)存取文件的速度和效率.HDFS采用Master/Slaver體系架構(gòu),其中Master為一個作為名稱節(jié)點(diǎn)的 NameNode,Slaver為多個數(shù)據(jù)存儲節(jié)點(diǎn)的DataNode.名稱節(jié)點(diǎn)負(fù)責(zé)目錄、文件及數(shù)據(jù)存取等元數(shù)據(jù)信息管理和維護(hù),主要完成管理元數(shù)據(jù)和文件塊、簡化元數(shù)據(jù)更新操作、監(jiān)聽和處理客戶端及數(shù)據(jù)節(jié)點(diǎn)的請求、心跳檢測等功能.?dāng)?shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)基本的數(shù)據(jù)存儲和對自己存儲資源進(jìn)行管理和計算,主要完成數(shù)據(jù)塊的讀寫、定期向名稱節(jié)點(diǎn)報告狀態(tài)、執(zhí)行數(shù)據(jù)塊的流水線復(fù)制等功能.

在HDFS中,一個文件被劃分為多個數(shù)據(jù)塊(默認(rèn)數(shù)據(jù)塊大小為 64MB)并被分散存儲在不同的數(shù)據(jù)節(jié)點(diǎn)上,每個數(shù)據(jù)塊都能通過數(shù)據(jù)節(jié)點(diǎn)之間的相互復(fù)制而具有多個備份.當(dāng)用戶訪問文件時,首先是把包含了文件名稱的操作申請發(fā)送給名稱節(jié)點(diǎn),名稱節(jié)點(diǎn)會將相關(guān)的元數(shù)據(jù)信息包括該文件對應(yīng)的Block和Block在數(shù)據(jù)節(jié)點(diǎn)的位置信息等反饋給用戶.用戶端根據(jù)獲得的元數(shù)據(jù)信息直接和相應(yīng)的數(shù)據(jù)節(jié)點(diǎn)建立連接,進(jìn)行具體的文件讀、寫、刪除等操作.HDFS文件系統(tǒng)的文件操作結(jié)構(gòu)圖如圖1所示.

圖1 HDFS系統(tǒng)文件操作示意圖

2 HDFS存取小文件I/O優(yōu)化策略

2.1 HDFS存取小文件 I/O性能分析

當(dāng)前的信息技術(shù)大發(fā)展背景下,多種信息渠道獲取大量的數(shù)據(jù),這些海量數(shù)據(jù)尺寸大小各異,訪問頻繁.HDFS的初始設(shè)計是流式存取大文件,當(dāng)處理大量小文件時,會產(chǎn)生如下明顯的性能瓶頸問題:大量文件將占用大量的內(nèi)存空間,因為名稱節(jié)點(diǎn)將文件系統(tǒng)的命名空間存儲于系統(tǒng)內(nèi)存,每個小文件的元數(shù)據(jù)信息大約占用150bit內(nèi)存空間,3個Block副本大約占用368bit內(nèi)存空間,這樣數(shù)量龐大的小文件將極大消耗名稱節(jié)點(diǎn)的內(nèi)存空間;HDFS主要設(shè)計用于提供流式數(shù)據(jù)訪問模式,這種方式適用于大文件,當(dāng)訪問大量小文件時,會出現(xiàn)比較高的訪問成本.對于小文件的檢索,通常會導(dǎo)致從一個數(shù)據(jù)節(jié)點(diǎn)到另外一個數(shù)據(jù)節(jié)點(diǎn)的大量搜索和跳躍;HDFS中元數(shù)據(jù)頻繁交互,元數(shù)據(jù)的處理是非常耗時的操作.對于海量小文件的操作,元數(shù)據(jù)操作消耗了大部分時間,小文件的I/O只占用少部分時間.小文件的操作,需要多次和名稱節(jié)點(diǎn)進(jìn)行交互,極大的增加了名稱節(jié)點(diǎn)的負(fù)擔(dān),同時因為需要多次seek,也會在數(shù)據(jù)節(jié)點(diǎn)上產(chǎn)生跳躍,這一切都將增加HDFS的負(fù)載,從而導(dǎo)致大量小文件I/O性能的極大下滑.

針對HDFS處理海量小文件進(jìn)行性能優(yōu)化,是目前學(xué)術(shù)界和工業(yè)界研究的熱門方向.MACKEY等[4]人提出利用Hadoop Archive技術(shù)進(jìn)行小文件的歸并,提高了 HDFS的元數(shù)據(jù)的存取效率;Liu XuHui等[5]提出一種新的方法優(yōu)化大量WebGIS小文件的HDFS存儲策略;Dong Bo等[6]提出了一種優(yōu)化大量PPT文件的HDFS存儲新策略;趙曉勇等[7]提出了一種新的基于Hadoop的海量MP3文件存儲架構(gòu),優(yōu)化MP3文件的存儲訪問.以上的研究基本都是基于某些特定應(yīng)用,并不能適應(yīng)優(yōu)化 HDFS存取一般的大小文件混合的海量數(shù)據(jù).張波[8]通過增加同一機(jī)架內(nèi)增加名稱節(jié)點(diǎn)和增加相應(yīng)元數(shù)據(jù)的方式對HDFS存取小文件進(jìn)行優(yōu)化操作,有效的提高了小文件I/O的性能.本文將從文件預(yù)處理、增加操作元數(shù)據(jù)和元數(shù)據(jù)批處理操作等幾個方面進(jìn)行HDFS存取小文件的優(yōu)化研究.

2.2 通用的優(yōu)化HDFS小文件存取策略

針對增加的元數(shù)據(jù)信息,名稱節(jié)點(diǎn)需要維護(hù)所有的元數(shù)據(jù)信息,因為小文件的海量數(shù)量需要消耗大量的內(nèi)存,所以名稱節(jié)點(diǎn)需要采用元數(shù)據(jù)緩存技術(shù),通過LRU(近期最少使用算法)的替換策略進(jìn)行名稱節(jié)點(diǎn)的內(nèi)存元數(shù)據(jù)管理.針對小文件頻繁的讀寫操作,為了優(yōu)化名稱節(jié)點(diǎn)更新元數(shù)據(jù)的效率,采用負(fù)載小文件的整體Block作為向名稱節(jié)點(diǎn)請求和更新元數(shù)據(jù)的策略,主要策略是當(dāng)單個小文件寫操作結(jié)束后暫時不進(jìn)行名稱節(jié)點(diǎn)中元數(shù)據(jù)的更新修改操作,從而減少名稱節(jié)點(diǎn)的頻繁訪問.只有滿足以下幾個條件如Block空間寫滿、新用戶對該Block產(chǎn)生了讀請求、一定時間段內(nèi)該Block沒有新的讀寫請求時,才通知名稱節(jié)點(diǎn)進(jìn)行元數(shù)據(jù)的批處理更新操作.這種元數(shù)據(jù)的批處理更新策略可以加快系統(tǒng)小文件的I/O速度,并明顯減輕名稱節(jié)點(diǎn)的元數(shù)據(jù)更新負(fù)擔(dān).本文對HDFS進(jìn)行優(yōu)化擴(kuò)展的存取架構(gòu)如圖2所示.

圖2 優(yōu)化的HDFS小文件存取架構(gòu)圖

3 實(shí)驗性能評估

本次測試的實(shí)驗環(huán)境是六臺曙光A840r-H思路四核服務(wù)器,其中一臺作為名稱節(jié)點(diǎn),其他五臺作為數(shù)據(jù)節(jié)點(diǎn),操作系統(tǒng)均為 64位 Red Hat linux 5,Hadoop版本是1.2.1 stable,JDK版本為1.6.0.24.實(shí)驗中用10萬個小文件進(jìn)行測試,文件的大小從1k-1M大小不等的小文件.本次測試主要通過寫 10萬個文件的完成時間和期間名稱節(jié)點(diǎn)的內(nèi)存占用率兩個方面進(jìn)行傳統(tǒng)HDFS系統(tǒng)和優(yōu)化的HDFS系統(tǒng)的小文件I/O效率比較測試.

根據(jù)測試結(jié)果分析,在傳統(tǒng)HDFS架構(gòu)下,隨著小文件數(shù)量的增加,寫文件的時間明顯呈現(xiàn)明顯增長,而且增長時間越來越大,說明傳統(tǒng)HDFS在處理大量小文件寫操作時I/O性能下降明顯,必須進(jìn)行相應(yīng)的優(yōu)化操作.在優(yōu)化的HDFS系統(tǒng)下,相同數(shù)量的小文件寫文件的時間相對降低,而且隨著小文件數(shù)量的倍增寫文件時間呈線性增長,表明優(yōu)化后的HDFS處理小文件時性能穩(wěn)定提升.寫文件時間示意圖如圖3所示.

根據(jù)測試結(jié)果分析,在傳統(tǒng)HDFS架構(gòu)下,名稱節(jié)點(diǎn)在處理大量小文件寫操作時內(nèi)存使用率一直維持在一個相對比較高的狀態(tài),如果小文件數(shù)量過于龐大,將會導(dǎo)致名稱節(jié)點(diǎn)內(nèi)存占滿而使系統(tǒng)吞吐率急速下滑.而在優(yōu)化的HDFS系統(tǒng)下,名稱節(jié)點(diǎn)寫文件時的內(nèi)存使用率一直保持在一個較低的狀態(tài),說明小文件寫操作的批處理有效提高了小文件的I/O性能.寫文件時內(nèi)存使用率示意圖如圖4所示.

圖3 寫文件時間圖

圖4 寫文件時名稱節(jié)點(diǎn)內(nèi)存利用率(%)

實(shí)驗結(jié)果可見,在HDFS系統(tǒng)傳統(tǒng)架構(gòu)下,增加相應(yīng)的元數(shù)據(jù),進(jìn)行文件的預(yù)處理,提高了HDFS系統(tǒng)寫小文件的性能,并較好地降低了名稱節(jié)點(diǎn)的內(nèi)存瓶頸問題,能夠適應(yīng)不同場合提高HDFS存取海量文件的性能.

[1] 佘叢國,朱志軍.大數(shù)據(jù)與云計算的關(guān)系及其對通訊行業(yè)的影響[C]//寬帶中國戰(zhàn)略與創(chuàng)新學(xué)術(shù)研討會論文集,2012.

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

[3] Small files problem[EB/OL].http://www.cloudera.com/blog/2009/02/the-small-files-problem/.

[4] MACKEY G, SEHRISH S, WANG JUN. Improving metadata management for small files in HDFS[C]//Proceedings of 2009 IEEE International Conference on Cluster Computing and Workshops. Piscataway:IEEE Press, 2009:1-4.

[5] LIU XUHUI, HAN JIZHONG, ZHONG YUNQIN, et al.Implementing WebGIS on Hadoop: A case study of improving small file I/O performance on HDFS[C]//2009 IEEE International Conference on Cluster Computing and Workshops. Piscataway: IEEE press,2009:1-8.

[6] DONG BO, QIU JIE, ZHENG QINGHUA, et al. A novel approach to improving the efficiency of storing and accessing small files on Hadoop: a case study by PowerPoint files[C]//Proceedings of the 2010 IEEE International Conference on Services Computing. Washington, DC: IEEE Computer Society, 2010:65-72.

[7] 趙曉永,楊揚(yáng),孫莉莉,等.基于Hadoop 的海量MP3文件存儲架構(gòu)[J].計算機(jī)應(yīng)用,2012,32(6):1724-1726.

[8] 張波.HDFS下文件存儲研究與優(yōu)化[D].廣東工業(yè)大學(xué),2013.

猜你喜歡
海量名稱內(nèi)存
一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
“春夏秋冬”的內(nèi)存
一個圖形所蘊(yùn)含的“海量”巧題
滬港通一周成交概況
滬港通一周成交概況
滬港通一周成交概況
滬港通一周成交概況
內(nèi)存搭配DDR4、DDR3L還是DDR3?
基于內(nèi)存的地理信息訪問技術(shù)
吴忠市| 咸阳市| 常熟市| 突泉县| 曲麻莱县| 昭苏县| 阳山县| 玉田县| 武平县| 赤水市| 芜湖县| 内黄县| 大邑县| 左贡县| 乌鲁木齐市| 蓬溪县| 双江| 澜沧| 大名县| 宁陕县| 临澧县| 镇江市| 龙江县| 澜沧| 廉江市| 即墨市| 东城区| 庆云县| 新巴尔虎左旗| 普兰店市| 四会市| 巴马| 张家港市| 陇西县| 文安县| 宿迁市| 临朐县| 临清市| 牡丹江市| 桦川县| 读书|