海量小圖片在HDFS下存儲和訪問優化_第1頁
海量小圖片在HDFS下存儲和訪問優化_第2頁
海量小圖片在HDFS下存儲和訪問優化_第3頁
海量小圖片在HDFS下存儲和訪問優化_第4頁
海量小圖片在HDFS下存儲和訪問優化_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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可知,清理進程運行后,命名節點中元數據的個數和數據節點中數據塊的消耗個數都減少了。清理進程確實起到了文件清理和文件合并的作用。本章小結本章以Hadoop集群為主搭建了實驗系統,并在此基礎上設計以一組對比試驗,從圖片上傳、圖片讀取、圖片刪除、圖片清理等四個方面對本論文設計的HDFS下小圖片存儲優化方案進行了驗證。實驗結果證明,本文設計的HDFS下小圖片存儲優化方案可以有效地減少文件元數據的個數和文件消耗的數據塊的總個數,文件刪除的效率更好,在緩存合理的情況下,還可以大大提高文件請求的效率。驗證了該優化方案確實是合理的、有效的。

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

參考文獻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:文繼榮,毛新生,孟小峰,張瑞,陸嘉恒等.分布式文件系統及云計算概述[M].北京:清華大學出版社,2011:191-194.AndrewS.Tanenbanum,MaartenvanSteen.分布式系統原理與范型.楊劍鋒,常曉波,李敏譯.北京:清華大學出版社.2004:447-448,452-456,462-463.江柳.HDFS下小文件存儲優化相關技術研究[D].北京:北京郵電大學,2010:蔡睿誠.基于HDFS的小文件處理與相關MapReduce計算模型性能的優化與改進[D].吉林:吉林大學,2012:陳虎.基于HDFS的云存儲平臺的優化與實現[D].廣東:華南理工大學,2012:王玲惠,李小勇,張軼彬.海量小文件存儲文件系統研究綜述[J].ComputerApplicationsandSoftware,2012,29(8):106-109.馬燦,孟丹.曙光星云分布式文件系統:海量小文件存取[J].JournalofChineseComputerSystems,2012,33(7):1481-1488.TomWhite.Hadoop權威指南[M].周敏奇,王曉玲,金澈清等譯.北京:清華大學出版社.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].陳昊鵬譯.北京:機械工業出版社.2007:525-589,650-762.EricFreeman.HeadFirst設計模式[M].O’ReillyTaiwan公司譯.北京:中國電力出版社.2007:169-190.TomasH.Cormen,CharlesE.Leiserson.算法導論[M].潘金貴,顧鐵成等譯.北京:機械工業出版社.2008:119-127.白中英.計算機組成原理[M].北京:科學出版社.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.站長之家:Facebook大數據:每天處理逾25億條內容和500TB數據[EB/OL].:/news/2012/0823/270885.shtml,2013-04-12:新浪科技:Facebook每天數據處理量超500TB[EB/OL].:/i/2012-08-23/10597538323.shtml,2012-08-23:百度百科:搜索引擎原理[EB/OL].:/view/3492159.htm,2013-05-13:Share:Share社交網站[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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論