• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hadoop平臺(tái)的海量文件存儲(chǔ)策略研究*

      2014-11-27 08:15:04江建舉孟憲軍馮延蓬何國坤
      關(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].針對(duì)大數(shù)據(jù)的研究也逐漸成為業(yè)界研究的焦點(diǎn),大數(shù)據(jù)的采集、處理、存儲(chǔ)、集成、分析和安全等問題成為主要的研究目標(biāo)[2].其中基于分布式并行文件系統(tǒng)的分布式存儲(chǔ)技術(shù)是大數(shù)據(jù)存儲(chǔ)研究的首要選擇,當(dāng)前業(yè)界分別提出了GFS、PPFS、GPFS、PVFS、PFS和 HDFS等分布式文件系統(tǒng).Hadoop是一套用于海量數(shù)據(jù)處理的系統(tǒng)基礎(chǔ)平臺(tái),能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行以一種可靠、高效、可伸縮的方式進(jìn)行分布式處理.Hadoop平臺(tái)的基本組件HDFS是當(dāng)前應(yīng)用和研究最廣泛的一種大數(shù)據(jù)存儲(chǔ)分布式文件系統(tǒng),其本質(zhì)上是一種流式分塊文件系統(tǒng),基本的設(shè)計(jì)是處理大文件(文件大小通常大于64MB),在處理海量小文件時(shí),在擴(kuò)展性和性能方面將產(chǎn)生嚴(yán)重問題[3].本文研究一種改進(jìn)的 Hadoop文件存儲(chǔ)優(yōu)化策略,通過文件大小的預(yù)處理,進(jìn)行小文件的歸并,提出一種新的元數(shù)據(jù)管理策略和通用文件存儲(chǔ)模式,從而解決HDFS處理海量小文件導(dǎo)致的性能問題,可以為各種應(yīng)用場景提供服務(wù).

      1 Hadoop平臺(tái)數(shù)據(jù)存儲(chǔ)描述

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

      在HDFS中,一個(gè)文件被劃分為多個(gè)數(shù)據(jù)塊(默認(rèn)數(shù)據(jù)塊大小為 64MB)并被分散存儲(chǔ)在不同的數(shù)據(jù)節(jié)點(diǎn)上,每個(gè)數(shù)據(jù)塊都能通過數(shù)據(jù)節(jié)點(diǎn)之間的相互復(fù)制而具有多個(gè)備份.當(dāng)用戶訪問文件時(shí),首先是把包含了文件名稱的操作申請(qǐng)發(fā)送給名稱節(jié)點(diǎn),名稱節(jié)點(diǎn)會(huì)將相關(guān)的元數(shù)據(jù)信息包括該文件對(duì)應(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è)計(jì)是流式存取大文件,當(dāng)處理大量小文件時(shí),會(huì)產(chǎn)生如下明顯的性能瓶頸問題:大量文件將占用大量的內(nèi)存空間,因?yàn)槊Q節(jié)點(diǎn)將文件系統(tǒng)的命名空間存儲(chǔ)于系統(tǒng)內(nèi)存,每個(gè)小文件的元數(shù)據(jù)信息大約占用150bit內(nèi)存空間,3個(gè)Block副本大約占用368bit內(nèi)存空間,這樣數(shù)量龐大的小文件將極大消耗名稱節(jié)點(diǎn)的內(nèi)存空間;HDFS主要設(shè)計(jì)用于提供流式數(shù)據(jù)訪問模式,這種方式適用于大文件,當(dāng)訪問大量小文件時(shí),會(huì)出現(xiàn)比較高的訪問成本.對(duì)于小文件的檢索,通常會(huì)導(dǎo)致從一個(gè)數(shù)據(jù)節(jié)點(diǎn)到另外一個(gè)數(shù)據(jù)節(jié)點(diǎn)的大量搜索和跳躍;HDFS中元數(shù)據(jù)頻繁交互,元數(shù)據(jù)的處理是非常耗時(shí)的操作.對(duì)于海量小文件的操作,元數(shù)據(jù)操作消耗了大部分時(shí)間,小文件的I/O只占用少部分時(shí)間.小文件的操作,需要多次和名稱節(jié)點(diǎn)進(jìn)行交互,極大的增加了名稱節(jié)點(diǎn)的負(fù)擔(dān),同時(shí)因?yàn)樾枰啻蝧eek,也會(huì)在數(shù)據(jù)節(jié)點(diǎn)上產(chǎn)生跳躍,這一切都將增加HDFS的負(fù)載,從而導(dǎo)致大量小文件I/O性能的極大下滑.

      針對(duì)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存儲(chǔ)策略;Dong Bo等[6]提出了一種優(yōu)化大量PPT文件的HDFS存儲(chǔ)新策略;趙曉勇等[7]提出了一種新的基于Hadoop的海量MP3文件存儲(chǔ)架構(gòu),優(yōu)化MP3文件的存儲(chǔ)訪問.以上的研究基本都是基于某些特定應(yīng)用,并不能適應(yīng)優(yōu)化 HDFS存取一般的大小文件混合的海量數(shù)據(jù).張波[8]通過增加同一機(jī)架內(nèi)增加名稱節(jié)點(diǎn)和增加相應(yīng)元數(shù)據(jù)的方式對(duì)HDFS存取小文件進(jìn)行優(yōu)化操作,有效的提高了小文件I/O的性能.本文將從文件預(yù)處理、增加操作元數(shù)據(jù)和元數(shù)據(jù)批處理操作等幾個(gè)方面進(jìn)行HDFS存取小文件的優(yōu)化研究.

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

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

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

      3 實(shí)驗(yàn)性能評(píng)估

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

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

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

      圖3 寫文件時(shí)間圖

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

      實(shí)驗(yàn)結(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ù)與云計(jì)算的關(guān)系及其對(duì)通訊行業(yè)的影響[C]//寬帶中國戰(zhàn)略與創(chuàng)新學(xué)術(shù)研討會(huì)論文集,2012.

      [2] 王珊,王會(huì)舉,覃雄派,等.架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J].計(jì)算機(jī)學(xué)報(bào),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文件存儲(chǔ)架構(gòu)[J].計(jì)算機(jī)應(yīng)用,2012,32(6):1724-1726.

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

      猜你喜歡
      海量名稱內(nèi)存
      一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
      海量快遞垃圾正在“圍城”——“綠色快遞”勢(shì)在必行
      “春夏秋冬”的內(nèi)存
      一個(gè)圖形所蘊(yùn)含的“海量”巧題
      滬港通一周成交概況
      滬港通一周成交概況
      滬港通一周成交概況
      滬港通一周成交概況
      基于內(nèi)存的地理信息訪問技術(shù)
      基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
      永春县| 元江| 河东区| 德惠市| 正宁县| 罗源县| 广南县| 新蔡县| 宁津县| 高台县| 珲春市| 泽库县| 桦南县| 钟山县| 晋州市| 洮南市| 聊城市| 苍梧县| 福贡县| 苗栗县| 宣武区| 泰宁县| 云南省| 台湾省| 河津市| 克什克腾旗| 吉安市| 德兴市| 兴仁县| 六盘水市| 屯留县| 青龙| 盐津县| 贵港市| 鄢陵县| 龙岩市| 揭东县| 洪泽县| 尖扎县| 孟村| 怀安县|