版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Hadoop分布式文件系統(tǒng):架構(gòu)和設(shè)計引言2一前提和設(shè)計目標(biāo)21hadoop和云計算的關(guān)系22流式數(shù)據(jù)訪問23大規(guī)模數(shù)據(jù)集24簡單的一致性模型35異構(gòu)軟硬件平臺間的可移植性36硬件錯誤3二HDFS重要名詞解釋31 Namenode42 secondaryNamenode53 Datanode64 jobTracker65 TaskTracker6三HDFS數(shù)據(jù)存儲71 HDFS數(shù)據(jù)存儲特點(diǎn)72心跳機(jī)制7.3副本存放74副本選擇7.5平安模式8四HDFS數(shù)據(jù)強(qiáng)健性81磁盤數(shù)據(jù)錯誤,心跳卞測和重新復(fù)制82集群均衡83數(shù)據(jù)完整性84元數(shù)據(jù)磁盤錯誤85快照9引言云計算cloudputing),由位于網(wǎng)
2、絡(luò)上的一組效勞器把其計算、存儲、數(shù)據(jù)等資源以效勞的形式提供應(yīng)請求者以完成信息處理任務(wù)的方法和過程。在此過程中被效勞者只是提供需求并獲取效勞結(jié)果,對于需求被效勞的過程并不知情。同時效勞者以最優(yōu)利用的方式動態(tài)地把資源分配給眾多的效勞請求者,以求到達(dá)最大效益。Hadoop分布式文件系統(tǒng)(HDFS)被設(shè)計成適合運(yùn)彳f在通用硬件(modityhardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn)。但同時,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。一前提和設(shè)計目標(biāo)1
3、hadoop和云計算的關(guān)系云計算由位于網(wǎng)絡(luò)上的一組效勞器把其計算、存儲、數(shù)據(jù)等資源以效勞的形式提供應(yīng)請求者以完成信息處理任務(wù)的方法和過程。針對海量文本數(shù)據(jù)處理,為實(shí)現(xiàn)快速文本處理響應(yīng),縮短海量數(shù)據(jù)為輔助決策提供效勞的時間,基于Hadoop云計算平臺,建立HDFS分布式文件系統(tǒng)存儲海量文本數(shù)據(jù)集,通過文本詞頻利用MapReduce原理建立分布式索引以分布式數(shù)據(jù)庫HBase存儲關(guān)鍵詞索引,并提供實(shí)時檢索,實(shí)現(xiàn)對海量文本數(shù)據(jù)的分布式并行處理.實(shí)驗(yàn)結(jié)果說明,Hadoop框架為大規(guī)模數(shù)據(jù)的分布式并行處理提供了很好的解決方案。2流式數(shù)據(jù)訪問運(yùn)行在HDFS上的應(yīng)用和普通的應(yīng)用不同,需要流式訪問它們的數(shù)據(jù)集。
4、HDFS的設(shè)計中更多的考慮到了數(shù)據(jù)批處理,而不是用戶交互處理。比之?dāng)?shù)據(jù)訪問的低延遲問題,更關(guān)鍵的在于數(shù)據(jù)訪問的高吞吐量。3大規(guī)模數(shù)據(jù)集運(yùn)行在HDFS上的應(yīng)用具有很大的數(shù)據(jù)集。HDFS上的一個典型文件大小一般都在G字節(jié)至T字節(jié)。因此,HDFS被調(diào)節(jié)以支持大文件存儲。它應(yīng)該能提供整體上高的數(shù)據(jù)傳輸帶寬,能在一個集群里擴(kuò)展到數(shù)百個節(jié)點(diǎn)。一個單一的HDFS實(shí)例應(yīng)該能支撐數(shù)以千萬計的文件。4簡單的一致性模型HDFS應(yīng)用需要一個“一次寫入屢次讀取的文件訪問模型。一個文件經(jīng)過創(chuàng)立、寫入和關(guān)閉之后就不需要改變。這一假設(shè)簡化了數(shù)據(jù)一致性問題,并且使高吞吐量的數(shù)據(jù)訪問成為可能。Map/Reduce應(yīng)用或者網(wǎng)絡(luò)爬蟲
5、應(yīng)用都非常適合這個模型。目前還有方案在將來擴(kuò)大這個模型,使之支持文件的附加寫操作。5異構(gòu)軟硬件平臺間的可移植性HDFS在設(shè)計的時候就考慮到平臺的可移植性。這種特性方便了HDFS作為大規(guī)模數(shù)據(jù)應(yīng)用平臺的推廣。6硬件錯誤硬件錯誤是常態(tài)而不是異常。HDFS可能由成百上千的效勞器所構(gòu)成,每個效勞器上存儲著文件系統(tǒng)的局部數(shù)據(jù)。我們面對的現(xiàn)實(shí)是構(gòu)成系統(tǒng)的組件數(shù)目是巨大的,而且任一組件都有可能失效,這意味著總是有一局部HDFS的組件是不工作的。因此錯誤檢測和快速、自動的恢復(fù)是HDFS最核心的架構(gòu)目標(biāo)。二HDFS重要名詞解釋HDFS采用master/slave架構(gòu)。一個HDFS集群是由一個Namenode和一
6、定數(shù)目的Datanodes組成。Namenode是一個中心效勞器,負(fù)責(zé)管理文件系統(tǒng)的名字空間(namespace以及客戶端對文件的訪問。集群中的Datanode一般是一個節(jié)點(diǎn)一個,負(fù)責(zé)管理它所在節(jié)點(diǎn)上的存儲。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從部看,一個文件其實(shí)被分成一個或多個數(shù)據(jù)塊,這些塊存儲在一組Datanode上。Namenode執(zhí)行文件系統(tǒng)的名字空間操作,比方翻開、關(guān)閉、重命名文件或目錄。它也負(fù)責(zé)確定數(shù)據(jù)塊到具體Datanode節(jié)點(diǎn)的映射。Datanode負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進(jìn)展數(shù)據(jù)塊的創(chuàng)立、刪除和復(fù)制。M
7、etadataopsNamenodeClient1HDFSArchitectureMetadata(Name,eplicas,):/home/foo/data.3,.集群中單一Namenode的構(gòu)造大大簡化了系統(tǒng)的架構(gòu)。Namenode是所有HDFS元數(shù)據(jù)的仲裁者和管理者,這樣,用戶數(shù)據(jù)永遠(yuǎn)不會流過Namenodeo1Namenode1HDFS的守護(hù)程序。2記錄文件時如何分割成數(shù)據(jù)塊的,以及這些數(shù)據(jù)塊被存數(shù)到那些借點(diǎn)上。3對存和I/O進(jìn)展集中管理4namenode是單個節(jié)點(diǎn),發(fā)生故障將使集群崩潰。11W0 "制rSwllCMIM Wt:ttOOUbl(=JQ0T90EOT -f=|
8、TiTr«c±nrd3 DaUHooaS7fl!ikTf|LJieri3,lM4od«TnMciracie#/ 口dNjqob|DaUMctfeic=!i飽的力aw,£1 OoutJaoa1= TasklrackefyL_J uaurMei(= ttrtirrfciwfi LrJ tMaHoderI JJe=T,at,*g*wIJOauNodePAG'.Racx2secondaryNamenode1監(jiān)控HDFS狀態(tài)的輔助后臺程序2secondaryNamenode與namenode通訊,定期保存HDFS元數(shù)據(jù)快照。3當(dāng)namenode故障時候,s
9、econdaryNamenode可以作為備用namenode使用3DatanodeDatanode將HDFS數(shù)據(jù)以文件的形式存儲在本地的文件系統(tǒng)中,它并不知道有關(guān)HDFS文件的信息。它把每個HDFS數(shù)據(jù)塊存儲在本地文件系統(tǒng)的一個單獨(dú)的文件中。Datanode并不在同一個目錄創(chuàng)立所有的文件,實(shí)際上,它用試探的方法來確定每個目錄的最正確文件數(shù)目,并且在適當(dāng)?shù)臅r候創(chuàng)立子目錄。4jobTracker1用于處理作業(yè)的后臺程序2決定有哪些文件參與處理,然后切割task并分配節(jié)點(diǎn)3監(jiān)控task,重啟失敗的task4每個集群只有唯一一個jobTracker,位于Master。5TaskTracker1位于sl
10、ave節(jié)點(diǎn)上,與datanode結(jié)合2管理各自節(jié)點(diǎn)上的task由jobTracker分配3每個節(jié)點(diǎn)只有一個tasktracker,但一個tasktracker可以啟動多個JVM,4與jobtracker交互三HDFS數(shù)據(jù)存儲1HDFS數(shù)據(jù)存儲特點(diǎn)1HDFS被設(shè)計成能夠在一個大集群中跨機(jī)器可靠地存儲超大文件。2它將每個文件存儲成一系列的數(shù)據(jù)塊,除了最后一個,所有的數(shù)據(jù)塊都是同樣大小的,數(shù)據(jù)塊的大小是可以配置的。3文件的所有數(shù)據(jù)塊都會有副本。每個副本系數(shù)都是可配置的。4應(yīng)用程序可以指定某個文件的副本數(shù)目。5HDFS中的文件都是一次性寫入的,并且嚴(yán)格要求在任何時候只能有一個寫入者。2心跳機(jī)制Name
11、node全權(quán)管理數(shù)據(jù)塊的復(fù)制,它周期性地從集群中的每個Datanode接收心跳信號和塊狀態(tài)報告(Blockreport)。接收到心跳信號意味著該Datanode節(jié)點(diǎn)工作正常。塊狀態(tài)報告包含了一個該Datanode上所有數(shù)據(jù)塊的列表。3副本存放副本的存放是HDFS可靠性和性能的關(guān)鍵。HDFS采用一種稱為機(jī)架感知(rack-aware附策略來改良數(shù)據(jù)的可靠性、可用性和網(wǎng)絡(luò)帶寬的利用率。4副本選擇為了降低整體的帶寬消耗和讀取延時,HDFS會盡量讓讀取程序讀取離它最近的副本。如果HDFS集群跨越多個數(shù)在讀取程序的同一個機(jī)架上有一個副本,那么就讀取該副本。如果一個據(jù)中心,那么客戶端也將首先讀本地數(shù)據(jù)中心
12、的副本。5平安模式Namenode啟動后會進(jìn)入一個稱為平安模式的特殊狀態(tài)。處于平安模式的Namenode是不會進(jìn)展數(shù)據(jù)塊的復(fù)制的。Namenode從所有的Datanode接收心跳信號和塊狀態(tài)報告。四HDFS數(shù)據(jù)強(qiáng)健性HDFS的主要目標(biāo)就是即使在出錯的情況下也要保證數(shù)據(jù)存儲的可靠性。常見的三種出錯情況是:Namenode出錯,Datanode出錯和網(wǎng)絡(luò)割裂(networkpartitions)o1磁盤數(shù)據(jù)錯誤,心跳檢測和重新復(fù)制每個Datanode節(jié)點(diǎn)周期性地向Namenode發(fā)送心跳信號。網(wǎng)絡(luò)割裂可能導(dǎo)致一局部Datanode跟Namenode失去聯(lián)系。Namenode通過心跳信號的缺失來檢測
13、這一情況,并將這些近期不再發(fā)送心跳信號Datanode標(biāo)記為宕機(jī),不會再將新的IO請求發(fā)給它們。任彳S存儲在宕機(jī)Datanode上的數(shù)據(jù)將不再有效。Datanode的宕機(jī)可能會引起一些數(shù)據(jù)塊的副本系數(shù)低于指定值,Namenode不斷地檢測這些需要復(fù)制的數(shù)據(jù)塊,一旦發(fā)現(xiàn)就啟動復(fù)制操作。在以下情況下,可能需要重新復(fù)制:某個Datanode節(jié)點(diǎn)失效,某個副本遭到損壞,Datanode上的硬盤錯誤,或者文件的副本系數(shù)增大。2集群均衡HDFS的架構(gòu)支持?jǐn)?shù)據(jù)均衡策略。如果某個Datanode節(jié)點(diǎn)上的空閑空間低于特定的臨界點(diǎn),按照均衡策略系統(tǒng)就會自動地將數(shù)據(jù)從這個Datanode移動到其他空閑的Datano
14、de。當(dāng)對某個文件的請求突然增加,那么也可能啟動一個方案創(chuàng)立該文件新的副本,并且同時重新平衡集群中的其他數(shù)據(jù)。這些均衡策略目前還沒有實(shí)現(xiàn)。3數(shù)據(jù)完整性從某個Datanode獲取的數(shù)據(jù)塊有可能是損壞的,損壞可能是由Datanode的存儲設(shè)備錯誤、網(wǎng)絡(luò)錯誤或者軟件bug造成的。HDFS客戶端軟件實(shí)現(xiàn)了對HDFS文件容的校驗(yàn)和(checksum)檢查。當(dāng)客戶端創(chuàng)立一個新的HDFS文件,會計算這個文件每個數(shù)據(jù)塊的校驗(yàn)和,并將校驗(yàn)和作為一個單獨(dú)的隱藏文件保存在同一個HDFS名字空間下。當(dāng)客戶端獲取文件容后,它會檢驗(yàn)從Datanode獲取的數(shù)據(jù)跟相應(yīng)的校驗(yàn)和文件中的校驗(yàn)和是否匹配,如果不匹配,客戶端可以選擇從其他Datanode獲取該數(shù)據(jù)塊的副本。4元數(shù)據(jù)磁盤錯誤FsImage和Editlog是HDFS的核心數(shù)據(jù)構(gòu)造。如果這些文件損壞了,整個HDFS實(shí)例都將失效。因而,Namenode可以配置成支持維護(hù)多個FsImage和Editlog的副本。任何對FsImage或者Editlog的修改,都將同步到它們的副本上。這種多副本的同步操作可能會降低Namenode每秒處理的名字空間事務(wù)數(shù)量。然而這個代價是可以承受的,因?yàn)榧词笻DFS的應(yīng)用是數(shù)據(jù)密集的,它們也非元數(shù)據(jù)密集的。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版五年級語文上冊教學(xué)計劃
- 做2022銷售的工作總結(jié)怎么寫10篇
- 《烈火英雄》觀后感
- 語文教師個人教學(xué)工作計劃
- 《簡愛》寒假讀書日記10篇
- 2022年的銷售工作計劃
- 學(xué)生會辭職報告模板合集七篇
- 普通高中化學(xué)教案教學(xué)范文
- 關(guān)于工作方案4篇
- 公司學(xué)習(xí)心得體會15篇
- 食用堿檢測報告
- 細(xì)胞核的結(jié)構(gòu)和功能說課稿
- 12CM27型連續(xù)采煤機(jī)電氣系統(tǒng)
- 招標(biāo)代理成果文件質(zhì)量保證措施
- 石油英語詞匯
- 《夜宿山寺》-完整版課件
- 滬教牛津版八年級上冊初二英語期末測試卷(5套)
- 北京市海淀區(qū)2020-2021學(xué)年度第一學(xué)期期末初三物理檢測試卷及答案
- 家庭室內(nèi)裝飾裝修工程保修單
- 小學(xué)語文課堂提問有效性策略研究方案
- 物業(yè)上門維修收費(fèi)標(biāo)準(zhǔn)
評論
0/150
提交評論