999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FEMA:基于HDFS的小文件讀寫優(yōu)化算法

2019-05-22 10:27:32張?chǎng)?/span>譚海
電腦知識(shí)與技術(shù) 2019年6期

張?chǎng)? 譚海

摘要:HDFS(Hadoop Distributed File System)是目前面向云計(jì)算應(yīng)用最為廣泛的分布式文件系統(tǒng),然而其面對(duì)海量小文件存儲(chǔ)場(chǎng)景時(shí)其存在Namenode開銷大,讀寫效率不理想等問(wèn)題。基于此提出一種HDFS小文件讀寫優(yōu)化算法FMEA(File Merging and name-Encoding Algorithm)。考慮文件存儲(chǔ)的目錄結(jié)構(gòu)將小文件合并為大文件存儲(chǔ),分配塊內(nèi)file id,與Namenode分配的block id構(gòu)成二元組唯一表示該文件,編碼生成邏輯文件名并建立塊內(nèi)索引,提高小文件訪問(wèn)效率。實(shí)驗(yàn)結(jié)果表明,F(xiàn)MEA有效地降低了Namenode的內(nèi)存開銷,提高了小文件的讀寫效率,此方案適用于具有海量小文件的云存儲(chǔ)系統(tǒng)。

關(guān)鍵詞: HDFS;小文件;FMEA;文件合并;文件名編碼

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)06-0232-02

FEMA:An Optimizational Algorithm of Small Files Stored and Readed on HDFS

ZHANG Xin,TAN Hai

(Information Engineering,East China University of Technology,Nanchang 330013,China)

Abstract:HDFS (Hadoop Distributed File System) is currently the most widely distributed file system for cloud computing applications. However, it has a problem of large Namenode overhead and unsatisfactory reading and writing efficiency when faced with a large number of small file storage scenarios. Based on this, proposes an HDFS File Merging and name-Encoding Algorithm (FMEA). Consider the file structure of the file storage to merge the small files into large file storage, allocate the file id in the block, and form the binary group with the block id assigned by the Namenode to uniquely represent the file, encode the logical file name and create the blockIndex, and improve the access efficiency of small files. The experimental results show that the FMEA effectively reduces the memory overhead of the Namenode and improves the read and write efficiency of small files. This scheme is suitable for cloud storage systems with a large number of small files.

Key words:HDFS;small files;FMEA;merge files;filename encoding

1 引言

分布式集群文件系統(tǒng)[1]在海量數(shù)據(jù)的存儲(chǔ)與處理上表現(xiàn)優(yōu)異,其運(yùn)行在多臺(tái)計(jì)算機(jī)上,通過(guò)某種方式相互通信從而將集群內(nèi)所有存儲(chǔ)空間資源整合、虛擬化并對(duì)外提供文件訪問(wèn)服務(wù)。HDFS[2]作為Hadoop的分布式文件系統(tǒng),通過(guò)運(yùn)行在廉價(jià)商業(yè)機(jī)器上的多個(gè)節(jié)點(diǎn)之間的協(xié)同工作實(shí)現(xiàn)了高性能、高可用性以及動(dòng)態(tài)的負(fù)載均衡,消除了單點(diǎn)故障以及性能瓶頸,具有高可靠性、高擴(kuò)展性、高效性、高容錯(cuò)性、經(jīng)濟(jì)性等諸多優(yōu)點(diǎn)。

2 HDFS海量小文件存取問(wèn)題

HDFS采用主從式架構(gòu),由一個(gè)Namenode和多個(gè)Datanode組成,其中Namenode負(fù)責(zé)管理文件系統(tǒng)的元數(shù)據(jù),Datanode負(fù)責(zé)數(shù)據(jù)塊的實(shí)際存儲(chǔ)[3]。由于所有文件系統(tǒng)的元數(shù)據(jù)均存放于Namenode內(nèi)存中,因此存儲(chǔ)文件的數(shù)目受限于Namenode的內(nèi)存大小[4];此外,HDFS適用于高吞吐量的文件存儲(chǔ),而不適合低時(shí)間延遲的訪問(wèn),同時(shí)存入million的文件要幾個(gè)小時(shí);HDFS中文件以數(shù)據(jù)塊的形式存儲(chǔ),其默認(rèn)塊大小為64M,這樣每個(gè)小文件都至少占用一個(gè)塊[5]。因此,由于其本身的架構(gòu)設(shè)計(jì)缺陷及大數(shù)據(jù)對(duì)于存儲(chǔ)能力的要求不斷攀升,HDFS并不適合大量小文件的存儲(chǔ)[6]。

針對(duì)以上問(wèn)題,本文提出了一種基于目錄結(jié)構(gòu)的小文件合并優(yōu)化讀寫策略,主要包含三個(gè)方面的內(nèi)容:(1)將小文件合并為大文件,減少HDFS中文件的數(shù)目,提高存取效率。(2)將文件所在塊的block id及塊內(nèi)file id編碼生成邏輯文件名,降低Namenode內(nèi)存消耗。(3)通過(guò)對(duì)邏輯文件名解碼的方式建立索引,提高小文件的讀取效率。

3 小文件合并及文件名編碼算法 -FMEA

其中ClientServer是對(duì)文件判別、合并、編碼模塊的封裝,負(fù)責(zé)響應(yīng)客戶端的請(qǐng)求、合并小文件、與HDFS交互、邏輯文件名的編碼,同時(shí)還要維護(hù)一個(gè)實(shí)際文件名與邏輯文件名的索引清單。HDFS端負(fù)責(zé)數(shù)據(jù)的實(shí)際存儲(chǔ)。

FMEA包括文件判別、文件合并以及文件編碼三個(gè)過(guò)程。其中文件判別模塊負(fù)責(zé)文件大小類型的識(shí)別,文件合并模塊將小文件進(jìn)行合并并建立塊內(nèi)索引,文件編碼模塊通過(guò)將block id及塊內(nèi)file id編碼生成邏輯文件名并在讀取文件時(shí)進(jìn)行解碼。

文件判別模塊通過(guò)客戶端發(fā)出的文件寫請(qǐng)求判斷其為大文件還是小文件,若是大文件則直接存儲(chǔ)至HDFS,若為小文件則交由文件合并模塊進(jìn)行處理。考慮到所要存儲(chǔ)的文件均具有特定的目錄結(jié)構(gòu),因此依據(jù)目錄結(jié)構(gòu)進(jìn)行小文件合并可以提高文件的讀寫效率。文件合并模塊將傳來(lái)小文件進(jìn)行合并(優(yōu)先處理同一目錄或父目錄下的文件),若合并隊(duì)列數(shù)據(jù)量超過(guò)合并閾值,放入新的隊(duì)列,否則繼續(xù)合并直到超過(guò)閾值。同時(shí)對(duì)塊內(nèi)文件分配file id并建立塊內(nèi)索引blockIndex,其記錄的是每個(gè)HDFS block中存儲(chǔ)的小文件的索引信息。其結(jié)構(gòu)如圖2所示,其中keylen表示key的長(zhǎng)度,占用一個(gè)字節(jié),key是文件的名稱,offset和length表示該文件在塊內(nèi)的偏移量及長(zhǎng)度,占用四個(gè)字節(jié)。blockIndex文件對(duì)于Namenode而言是透明的,與對(duì)應(yīng)的block一起傳輸,并加載在Datanode內(nèi)存中,并不占用Namenode的內(nèi)存。

5 結(jié)束語(yǔ)

本文針對(duì)HDFS在海量小文件存儲(chǔ)上存在的問(wèn)題提出了一種小文件合并及文件名編碼優(yōu)化策略-FMEA。將小文件依據(jù)目錄結(jié)構(gòu)合并成一個(gè)大文件存儲(chǔ),將file id及block id編碼生成邏輯文件名,同時(shí)建立塊內(nèi)索引blockIndex提高文件的讀取速率。通過(guò)實(shí)驗(yàn)驗(yàn)證FEMA解決了存儲(chǔ)海量小文件時(shí)Namenode內(nèi)存開銷過(guò)大的問(wèn)題,且有效地提高了HDFS上小文件的讀寫效率。

參考文獻(xiàn):

[1] 劉智慧,張泉靈.大數(shù)據(jù)技術(shù)研究綜述[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2014,48(6):957-972.

[2] 郝樹魁.Hadoop HDFS和MapReduce架構(gòu)淺析[J].郵電設(shè)計(jì)技術(shù),2012(7):37-42.

[3] 侯建,帥仁俊,侯文.基于云計(jì)算的海量數(shù)據(jù)存儲(chǔ)模型[J].通信技術(shù),2011,44(5):163-165.

[4] 付東華. 基于HDFS的海量分布式文件系統(tǒng)的研究與優(yōu)化[D].北京郵電大學(xué),2012.

[5] 洪旭升,林世平.基于MapFile的HDFS小文件存儲(chǔ)效率問(wèn)題[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(11):179-182.

[6] 張海,馬建紅.基于HDFS的小文件存儲(chǔ)與讀取優(yōu)化策略[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(5):167-171.

【通聯(lián)編輯:光文玲】

主站蜘蛛池模板: 国内精品视频区在线2021| 国产区精品高清在线观看| 玖玖精品在线| 三上悠亚精品二区在线观看| 55夜色66夜色国产精品视频| 日韩视频福利| 91区国产福利在线观看午夜| 99精品伊人久久久大香线蕉| 亚洲精品视频网| 亚洲国产中文欧美在线人成大黄瓜 | 午夜福利在线观看入口| 青青国产成人免费精品视频| 国产成人1024精品| 在线免费观看a视频| 制服丝袜 91视频| 九色91在线视频| 亚洲国产成熟视频在线多多| 国产系列在线| 中文字幕无码中文字幕有码在线| 找国产毛片看| 国产理论精品| 亚洲美女操| 国产综合无码一区二区色蜜蜜| 制服丝袜国产精品| 国产精品yjizz视频网一二区| 亚洲综合欧美在线一区在线播放| 国产福利一区二区在线观看| 国产av无码日韩av无码网站| 国产精品久久久久久搜索| AⅤ色综合久久天堂AV色综合 | 国产乱子伦视频三区| 天堂网国产| 日韩资源站| 国产导航在线| 国产永久在线视频| 日韩欧美中文| 精品福利视频网| 亚洲无码91视频| 国产中文在线亚洲精品官网| 亚洲精品亚洲人成在线| 一级毛片免费播放视频| 欧美日韩国产精品va| 亚洲开心婷婷中文字幕| 91久久青青草原精品国产| 国产又色又爽又黄| 国产屁屁影院| 露脸一二三区国语对白| 日韩欧美国产中文| 日韩欧美91| 无码内射在线| 国产免费网址| 青草娱乐极品免费视频| 伊人网址在线| 国产成人精品视频一区视频二区| 日韩精品欧美国产在线| 91原创视频在线| 九九九精品视频| 99热国产这里只有精品无卡顿"| 天堂在线视频精品| 久久精品亚洲中文字幕乱码| 亚洲区第一页| 97视频精品全国免费观看| 日韩精品亚洲一区中文字幕| 欧美性爱精品一区二区三区| 高清不卡毛片| 妇女自拍偷自拍亚洲精品| 午夜a视频| 久久久久人妻一区精品| 亚洲午夜福利精品无码不卡| 福利在线一区| 毛片基地美国正在播放亚洲| 男人天堂亚洲天堂| 91午夜福利在线观看精品| 免费国产一级 片内射老| 婷婷综合色| 亚洲欧洲免费视频| 亚洲VA中文字幕| 99人体免费视频| 伊人久久大香线蕉成人综合网| 无码专区第一页| 亚洲熟妇AV日韩熟妇在线| 久久久91人妻无码精品蜜桃HD|