海量小圖片在HDFS下存儲(chǔ)和訪問優(yōu)化_第1頁
海量小圖片在HDFS下存儲(chǔ)和訪問優(yōu)化_第2頁
海量小圖片在HDFS下存儲(chǔ)和訪問優(yōu)化_第3頁
海量小圖片在HDFS下存儲(chǔ)和訪問優(yōu)化_第4頁
海量小圖片在HDFS下存儲(chǔ)和訪問優(yōu)化_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

海量小圖片在HDFS下的存儲(chǔ)與訪問優(yōu)化摘要Web2.0時(shí)代,以微博、社交網(wǎng)站、網(wǎng)上交易平臺(tái)等應(yīng)用的快速發(fā)展,使數(shù)據(jù)呈現(xiàn)出幾何級(jí)的增長(zhǎng),使用傳統(tǒng)的技術(shù)框架越來越不能勝任當(dāng)前海量數(shù)據(jù)的存儲(chǔ)與處理等需求,海量數(shù)據(jù)的存儲(chǔ)與處理成了當(dāng)前的熱點(diǎn)話題。Hadoop文件系統(tǒng)HDFS作為Google文件系統(tǒng)GFS的開源實(shí)現(xiàn)成為了業(yè)界研究海量數(shù)據(jù)存儲(chǔ)與處理的一個(gè)典范模型,并得到了很好的應(yīng)用。然而HDFS在海量小文件存儲(chǔ)方面卻存在著嚴(yán)重的性能問題,主要有文件元數(shù)據(jù)過多造成Namenode內(nèi)存壓力、Block的存儲(chǔ)空間利用不充分造成嚴(yán)重的空間浪費(fèi)、頻繁的文件讀寫請(qǐng)求造成的文件讀寫效率低下等。小圖片是一種特殊的小文件,HDFS的這些性能問題同樣也適應(yīng)于海量小圖片的存儲(chǔ),同時(shí),海量小文件的解決方案對(duì)設(shè)計(jì)海量小圖片存儲(chǔ)的解決方案也有相應(yīng)的參考價(jià)值。在HDFS環(huán)境下,現(xiàn)有的小文件存儲(chǔ)解決方案主要有:Hadoop自身提供的HAR和SequenceFile、利用HBase擴(kuò)展HDFS、擴(kuò)展為多Namenode、根據(jù)HAR和SequenceFile的思想而提出的文件合并方案等。這些解決方案都從一定程度上緩解了HDFS在海量小文件存儲(chǔ)方面的性能問題,但都有一定的局限性:利用HBase擴(kuò)展HDFS無法存儲(chǔ)大于64KB的文件;HAR和SequenceFile、多Namenode等無法有效地減少客戶端請(qǐng)求命名節(jié)點(diǎn)的次數(shù);并且HAR和SequenceFile無法保證文件路徑在HDFS中的透明性;文件合并方案容易導(dǎo)致讀寫低下等。本文在分析了HDFS體系結(jié)構(gòu)和現(xiàn)有的小文件存儲(chǔ)解決方案的基礎(chǔ)上,提出了海量小圖片在HDFS下的存儲(chǔ)解決方案,其主要思想就是化小為大、建立索引、合理緩存。在設(shè)計(jì)該解決方案時(shí)借鑒了緩存、異步通信、并行處理等技術(shù):客戶端緩存來存儲(chǔ)相關(guān)圖片,以實(shí)現(xiàn)圖片的合并、上傳和下載等功能;消息隊(duì)列連接用戶操作和實(shí)際的HDFS操作;兩級(jí)索引用于定位小圖片在HDFS和緩存中的位置。該方案涉及到兩種后臺(tái)進(jìn)程:消息處理進(jìn)程、圖片清理進(jìn)程。消息處理進(jìn)程一直運(yùn)行在客戶端所在的機(jī)器上,完成圖片合并、文件上傳等功能;圖片清理進(jìn)程周期性執(zhí)行,完成HDFS中物理圖片的刪除和文件合并等功能。最后,本文搭建Hadoop集群完成了對(duì)比實(shí)驗(yàn)。通過對(duì)比和分析實(shí)驗(yàn)結(jié)果,該方案不但大大減少了圖片的元數(shù)據(jù)個(gè)數(shù)和消耗的數(shù)據(jù)塊個(gè)數(shù),并且可以有效提高圖片的讀寫速度。從而驗(yàn)證了本文提出的海量小圖片存儲(chǔ)解決方案的有效性。關(guān)鍵詞:分布式文件系統(tǒng);HDFS;小圖片;存儲(chǔ)優(yōu)化;訪問優(yōu)化

ABSTRACTIntheAgeofWeb2.0,theapplicationssuchastheMicro-blog,theSocialnetworkingsites,andtheonlinetradingplatformhaveachievedrapiddevelopment,thusproducemoreandmoredata.Thetraditionaltechnologyarchitectureisunabletomeettheneedofmassdataanymore,soithasbeenahottopicthathowtostorethemassdataandhowtodealwiththem.HDFS,whichisthefilesystemofHadoop,astheopensourceimplementationofGFS,whichisthefilesystemofGoogle,hasbeenthetypicalmodelofhowtostoreanddealwiththemassdata.AndHDFShasbeenwidelyusedintherealworld.However,thereisaseriousperformanceissuesforHDFStodealwithmasssmallfiles.ExistingstoragesolutionsformasssmallfileincludeHARandSequenceFile,basedonHBasesystem,extendtomorethanoneNamenode,mergemanysmallfileintooneandsoon.HARandSequenceFileareprovidedbyHadoopitself,andthemethodofmergingfilesintooneareproposedaccordingtothemethodofHARandSequenceFile.ThesetraditionalsolutionsrelievetheperformanceissuesofHDFScausedbylargeamountofsmallfiles,buttheyhaveacommonlimitation:unablereducetherequestnumberthatClientsrequestsNamenode.Inaddition,methodsofbasedonHBasesystem,makeuseofcacheintheHRegionServertoreducetherequestnumberofClients.Butthespaceforthecacheislimitedandthecacheiscentrallymanaged,thusitcannotmakerespondtimelywhenthereismountsofrequests.ThispaperproposedastoragesolutionformasssmallfilesafteranalyzingthearchitectureofHDFSandtheexistingsolutions,whichadoptsthefollowingideassuchasmergingsmallfilesintoone,creatingindices,establishingappropriatecache.Takingintoaccounttheadvantagesofasynchronouscommunicationsandparallelprocessing,theyareusedinthefinalsolutionthispaperputforward.CacheandMessageQueuedecreasethelogicalcomplexityofthesystemeffectively,andmakeiteasytoextendthesystem.Thetwo-levelindexisusedtolocatethefileinbothHDFSandcache.Finally,twokindsofbackgroundprocessareofferedtofulfillthefunctionsthesystemneedstoprovide.Theprocessdealswiththegivenmessagesrunsonthemachinewhichtheclientsrunon,andtheprocessrunsforever.TheprocessdealswiththealreadylogicallydeletedfilesrunsonSecondaryNamenode,andtheprocessrunsperiodicallyanddieswhenthetaskisover.Boththetwokindsofprocessareallmulti-threadedandeachthreaddealswiththespecifictypeofmessages.Finally,thispapersetsupanexperimentalplatformbasedonHadoopCluster,andcompletesasetofcomparativeexperiments.Therearetwogroupsofexperimentsintotal.Throughcontrastandanalysisoftheexperimentalresults,wefoundthatboththenumberoffilemetadataandthenumberofthecostdatablockareallreducedgreatly,sothevalidityofthissolutionwasproved.Keywords:DistributedFileSystem;HDFS;SmallPictures;StorageOptimization;AccessOptimization;目錄摘要 表格58可知,清理進(jìn)程運(yùn)行后,命名節(jié)點(diǎn)中元數(shù)據(jù)的個(gè)數(shù)和數(shù)據(jù)節(jié)點(diǎn)中數(shù)據(jù)塊的消耗個(gè)數(shù)都減少了。清理進(jìn)程確實(shí)起到了文件清理和文件合并的作用。本章小結(jié)本章以Hadoop集群為主搭建了實(shí)驗(yàn)系統(tǒng),并在此基礎(chǔ)上設(shè)計(jì)以一組對(duì)比試驗(yàn),從圖片上傳、圖片讀取、圖片刪除、圖片清理等四個(gè)方面對(duì)本論文設(shè)計(jì)的HDFS下小圖片存儲(chǔ)優(yōu)化方案進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果證明,本文設(shè)計(jì)的HDFS下小圖片存儲(chǔ)優(yōu)化方案可以有效地減少文件元數(shù)據(jù)的個(gè)數(shù)和文件消耗的數(shù)據(jù)塊的總個(gè)數(shù),文件刪除的效率更好,在緩存合理的情況下,還可以大大提高文件請(qǐng)求的效率。驗(yàn)證了該優(yōu)化方案確實(shí)是合理的、有效的。

總結(jié)與展望論文工作總結(jié)論文主要工作Web2.0時(shí)代,以微博、社交網(wǎng)站、網(wǎng)上交易平臺(tái)等應(yīng)用的快速發(fā)展,使數(shù)據(jù)呈現(xiàn)出幾何級(jí)的增長(zhǎng),使用傳統(tǒng)的技術(shù)框架越來越不能勝任當(dāng)前海量數(shù)據(jù)的存儲(chǔ)與處理等需求,海量數(shù)據(jù)的存儲(chǔ)與處理成了當(dāng)前的熱點(diǎn)話題。Hadoop文件系統(tǒng)HDFS作為Google文件系統(tǒng)GFS的開源實(shí)現(xiàn)成為了業(yè)界研究海量數(shù)據(jù)存儲(chǔ)與處理的一個(gè)典范模型,并得到了很好的應(yīng)用。但它在小文件存儲(chǔ)方面有著不可嚴(yán)重的性能問題,較之存儲(chǔ)大文化相比,會(huì)浪費(fèi)相當(dāng)多的命名節(jié)點(diǎn)的內(nèi)存空間和數(shù)據(jù)節(jié)點(diǎn)的磁盤存儲(chǔ)空間。為此,Hadoop自身提供了自己的解決方案,也有很多人提出了小文件存儲(chǔ)解決方案。但它們都有一定的局限性:無法有效地減少客戶端請(qǐng)求命名節(jié)點(diǎn)的次數(shù),并且無法保證文件在HDFS中路徑的透明性。本文主要針對(duì)上述局限性,完成了HDFS下海量小圖片存儲(chǔ)的優(yōu)化方案。為此,論文主要完成了以下工作:認(rèn)真分析HDFS環(huán)境中文件的上傳、下載等流程,并對(duì)現(xiàn)有的經(jīng)典解決方案進(jìn)行了透徹的分析,從而明確了各自的優(yōu)缺點(diǎn)。分析多種相關(guān)技術(shù),如Redis、消息隊(duì)列、圖片處理等,并將它們引入到解決方案的設(shè)計(jì)與實(shí)現(xiàn)中來。借鑒現(xiàn)有解決方案的優(yōu)點(diǎn),結(jié)合相關(guān)技術(shù),完成了HDFS下海量小圖片的存儲(chǔ)與訪問優(yōu)化方案。搭建實(shí)驗(yàn)系統(tǒng),設(shè)計(jì)測(cè)試用例對(duì)論文提出的優(yōu)化方案進(jìn)行測(cè)試,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析。論文創(chuàng)新點(diǎn)采用客戶端文件緩沖區(qū)。緩存區(qū)的作用就是減少對(duì)Namenode的讀寫請(qǐng)求次數(shù)和對(duì)Datanode的讀寫文件請(qǐng)求。在文件上傳時(shí),通過文件緩沖區(qū),等達(dá)到一定條件時(shí)才發(fā)起寫文件請(qǐng)求;在讀取文件時(shí),通過文件緩沖區(qū),先從緩存中響應(yīng)客戶端請(qǐng)求,如果失敗,再發(fā)起讀文件請(qǐng)求。采用兩級(jí)索引保存文件URL。兩級(jí)索引保存的文件URL保證了文件在HDFS中路徑的透明性,使用戶不必關(guān)心優(yōu)化后的文件路徑變更。用戶只需要知道自己保存至HDFS中的文件URL即可,通過這個(gè)URL就可獲得對(duì)應(yīng)的在HDFS系統(tǒng)中的文件,簡(jiǎn)化了用戶使用HDFS操作圖片時(shí)的邏輯復(fù)雜性。下一步工作HDFS下海量小圖片的研究工作一直在進(jìn)行,海量圖片的存儲(chǔ)遇到的問題也層出不窮。想要在實(shí)際的各種各樣的需求中搭建完全通用的存儲(chǔ)系統(tǒng)絕非易事。根據(jù)不同的實(shí)際情況,還需要更多的研究與探索。本系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)并非完美,還有很多地方需要提高和改進(jìn):小圖片合并策略。將哪些小圖片組合成為一個(gè)大文件是一個(gè)值得深入研究的問題。一般會(huì)將關(guān)聯(lián)性比較大的圖片合并在同一個(gè)大文件中,但具體將哪些小圖片合放在一起,與具體的實(shí)踐有著緊密的聯(lián)系。調(diào)整圖片合并時(shí)的參數(shù),提高系統(tǒng)的整體效率。從理論上看,圖片合并需要時(shí)間,合并后的文件上傳也需要時(shí)間,文件的讀取也需要時(shí)間。每個(gè)大文件中文件的數(shù)目或總大小會(huì)影響到這幾個(gè)時(shí)間。在后續(xù)的工作中,會(huì)繼續(xù)探討這個(gè)參數(shù)對(duì)整體性能的影響。

參考文獻(xiàn)SanjayGhemawat,HowardGobioff,Shun-TakLeung.TheGoogleFileSystem[A].In:19thACMSymposiumonOperatingSystemsPrinciples[C].LakeGeorge,NY,October,2003:29-43.JeffreyDean,SanjayGhemawat.MapReduce:SimplifiedDataProcessingonLargeClusters[A].In:OSDI'04:SixthSymposiumonOperatingSystemDesignandImplementation[C].SanFrancisco,CA,December,2004:137-150.FayChang,JeffreyDean,SanjayGhemawat,WilsonC.Hsieh,DeborahA.Wallach,MikeBurrows,TusharChandra,AndrewFikes,RobertE.Gruber.Bigtable:ADistributedStorageSystemforStructuredData[A].In:OSDI'06:SeventhSymposiumonOperatingSystemDesignandImplementation,Seattle[C].WA,November,2006:205-218.Boehm,Matthias,Habich,Dirk;Lehner,Wolfgang.Multi-processoptimizationviahorizontalmessagequeuepartitioning[J].ICEIS2010-Proceedingsofthe12thInternationalConferenceonEnterpriseInformationSystems,2010,1(1):5-14.Apache:TheApacheSoftwareFoundation.HDFSHighAvailability[EB/OL].:/docs/current/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailabilityWithNFS.html,2013-04-12:Apache:TheApacheSoftwareFoundation.HDFSArchitecture[EB/OL].:/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html,2013-04-12:Apache:TheApacheSoftwareFoundation.SettingupaSingleNodeCluster[EB/OL].:/docs/r0.23.7/hadoop-project-dist/hadoop-common/SingleCluster.html,2013-04-11:Apache:TheApacheSoftwareFoundation.ClusterSetup[EB/OL].:/docs/r0.23.7/hadoop-project-dist/hadoop-common/ClusterSetup.html,2013-04-11:文繼榮,毛新生,孟小峰,張瑞,陸嘉恒等.分布式文件系統(tǒng)及云計(jì)算概述[M].北京:清華大學(xué)出版社,2011:191-194.AndrewS.Tanenbanum,MaartenvanSteen.分布式系統(tǒng)原理與范型.楊劍鋒,常曉波,李敏譯.北京:清華大學(xué)出版社.2004:447-448,452-456,462-463.江柳.HDFS下小文件存儲(chǔ)優(yōu)化相關(guān)技術(shù)研究[D].北京:北京郵電大學(xué),2010:蔡睿誠(chéng).基于HDFS的小文件處理與相關(guān)MapReduce計(jì)算模型性能的優(yōu)化與改進(jìn)[D].吉林:吉林大學(xué),2012:陳虎.基于HDFS的云存儲(chǔ)平臺(tái)的優(yōu)化與實(shí)現(xiàn)[D].廣東:華南理工大學(xué),2012:王玲惠,李小勇,張軼彬.海量小文件存儲(chǔ)文件系統(tǒng)研究綜述[J].ComputerApplicationsandSoftware,2012,29(8):106-109.馬燦,孟丹.曙光星云分布式文件系統(tǒng):海量小文件存取[J].JournalofChineseComputerSystems,2012,33(7):1481-1488.TomWhite.Hadoop權(quán)威指南[M].周敏奇,王曉玲,金澈清等譯.北京:清華大學(xué)出版社.2011:44-48,80-81.MichaelArmbrust,ArmandoFox,ReanGriffith,AnthonyD.Joseph,RandyKatz,AndyKonwinski,GunhoLee,DavidPatterson,ArielRabkin,IonStoica,andMateiZaharia.AViewofCloudComputing[J].CommunicationsoftheACM,2010,53(4):50-58.KeithSeymour,HidemotoNakada,SatoshiMatsuoka,JackDongarra,CraigLee,andHenriCasanova.OverviewofGridRPC:ARemoteProcedureCallAPIforGridComputing[J].LectureNotesinComputerScience,2002,25(36):274-278.Hu,Yiming,NightingaleTycho,YangQing.RAPID-Cache-Areliableandinexpensivewritecacheforhighperformancestoragesystems[J].IEEETransactionsonParallelandDistributedSystems,2002,13(3):290-307.NguyenAndrew,WyndenRob,SunYao.HBase,MapReduce,andintegrateddatavisualizationforprocessingclinicalsignaldata[J].AAAISpringSymposium–TechnicalReport,2011,11(4):40-44.BrianW.Fitzpatrick,

JJLueck.TheCaseagainstDataLock-in[J].CommunicationsoftheACM,2010,53(11):42-46.LayaliK.Rashid,WessamHassanein,

MoustafaA.Hammad.Analyzingandenhancingtheparallelsortoperationonmultithreadedarchitectures[J].TheJournalofSupercomputing,2010,vol.53(2010):293-312.JeffreyDean,

SanjayGhemawat.MapReduce:Aflexibledataprocessingtool[J].CommunicationsoftheACM,2010,53(1):72-77.LuizAndréBarroso,

JeffreyDean,

UrsH?lzle.WebSearchforaPlanet:TheGoogleClusterArchitecture[J].IEEEMicro,2003,23(2003):22-28.BruceEckel.Java編程思想[M].陳昊鵬譯.北京:機(jī)械工業(yè)出版社.2007:525-589,650-762.EricFreeman.HeadFirst設(shè)計(jì)模式[M].O’ReillyTaiwan公司譯.北京:中國(guó)電力出版社.2007:169-190.TomasH.Cormen,CharlesE.Leiserson.算法導(dǎo)論[M].潘金貴,顧鐵成等譯.北京:機(jī)械工業(yè)出版社.2008:119-127.白中英.計(jì)算機(jī)組成原理[M].北京:科學(xué)出版社.2001:251-259.ZhangYang,LiuDan.Improvingtheefficiencyofstoringforsmallfilesinhdfs[A].In:2012InternationalConferenceonComputerScienceandServiceSystem,CSSS2012[C].2012:2239-2242.MohandasNeethu,ThampiSabuM.Improvinghadoopperformanceinhandlingsmallfiles[A].In:CommunicationsinComputerandInformationScience,v193CCIS,nPART4[C].2011:187-194.LiuJiang,BingLi,MeinaSong.TheoptimizationofHDFSbasedonsmallfiles[A].In:20103rdIEEEInternationalConferenceonBroadbandNetworkandMultimediaTechnology,IC-BNMT2010[C].2010:912-915.YuLihua,ChenGang,WangWei,DongJinxiang.MSFSS:Astoragesystemformasssmallfiles[A].In:Proceedingsofthe200711thInternationalConferenceonComputerSupportedCooperativeWorkinDesign,CSCWD[C].2007:1087-1092.ZhouLu,FangZhiyi,XiangLiyun,CaiRuicheng,HuNiya.PerformanceoptimizationofprocessingsmallfilesbasedonHDFS[J].InternationalReviewonComputersandSoftware,2012,7(6):3386-3391.DongBo,ZhengQinghua,TianFeng,ChaoKuo-Ming,MaRui,AnaneRachid.Anoptimizedapproachforstoringandaccessingsmallfilesoncloudstorage[J].JournalofNetworkandComputerApplications,2012,35(6):1847-1862.站長(zhǎng)之家:Facebook大數(shù)據(jù):每天處理逾25億條內(nèi)容和500TB數(shù)據(jù)[EB/OL].:/news/2012/0823/270885.shtml,2013-04-12:新浪科技:Facebook每天數(shù)據(jù)處理量超500TB[EB/OL].:/i/2012-08-23/10597538323.shtml,2012-08-23:百度百科:搜索引擎原理[EB/OL].:/view/3492159.htm,2013-05-13:Share:Share社交網(wǎng)站[EB/OL].:/,2013-05-13:阿里巴巴:TaobaoFileSystem[EB/OL].:/,2013-05-13:YangZhengyi,WangShilong.Modelandperformanceanalysisofreal-timemonitoringdataprocessing[J].InternationalJournalofDigita

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論