Hadoop分布式文件系統(tǒng):架構和設計_第1頁
Hadoop分布式文件系統(tǒng):架構和設計_第2頁
Hadoop分布式文件系統(tǒng):架構和設計_第3頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、Hadoop 分布式文件系統(tǒng):架構和設計引言一 前提和設計目標 1 hadoop 和云計算的關系 . 2 流式數據訪問 3 大規(guī)模數據集 4 簡單的一致性模型 5 異構軟硬件平臺間的可移植性 6 硬件錯誤 二 HDFS 重要名詞解釋 1 Namenode . 2 secondary Namenode . 3 Datanode . 4 jobTracker 5 TaskTracker . 三 HDFS 數據存儲 1 HDFS數據存儲特點2 心跳機制 3 副本存放 4 副本選擇 5 平安模式 四HDFS數據健壯性1磁盤數據錯誤,心跳檢測和重新復制 2集群均衡3數據完整性4元數據磁盤錯誤 5快照引言

2、云計算(cloud computing),由位于網絡上的一組效勞器把其計算、存儲、數據等資源以效勞的形式提供應請求者以完成信息處理任務的方法和過程。在此過程中被效勞者只是提供需求并獲取效勞結果,對于需求 被效勞的過程并不知情。同時效勞者以最優(yōu)利用的方式動態(tài)地把資源分配給眾多的效勞請求者,以求到達最大 效益。Hadoop分布式文件系統(tǒng)(HDFS)被設計成適合運行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點。但同時,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS能提供高吞吐量

3、的數據訪問,非常適合大規(guī)模數據集上的應用。一前提和設計目標1 hadoop禾口云計算的關系云計算由位于網絡上的一組效勞器把其計算、存儲、數據等資源以效勞的形式提供應請求者以完成信息處理任務的方法和過程。針對海量文本數據處理,為實現(xiàn)快速文本處理響應,縮短海量數據為輔助決策提供效勞的時間,基于Hadoop云計算平臺,建立HDFS分布式文件系統(tǒng)存儲海量文本數據集,通過文本詞頻利用MapReduce 原理建立分布式索引,以分布式數據庫 HBase存儲關鍵詞索引,并提供實時檢索,實現(xiàn)對海量文本 數據的分布式并行處理.實驗結果說明,Hadoop框架為大規(guī)模數據的分布式并行處理提供了很好的解決方案。2流式數

4、據訪問運行在HDFS上的應用和普通的應用不同,需要流式訪問它們的數據集。HDFS的設計中更多的考慮到了數據批處理,而不是用戶交互處理。比之數據訪問的低延遲問題,更關鍵的在于數據訪問的高吞吐量。3大規(guī)模數據集運行在HDFS上的應用具有很大的數據集。HDFS上的一個典型文件大小一般都在G字節(jié)至T字節(jié)。因此,HDFS被調節(jié)以支持大文件存儲。它應該能提供整體上高的數據傳輸帶寬,能在一個集群里擴展到數百個 節(jié)點。一個單一的 HDFS實例應該能支撐數以千萬計的文件。4簡單的一致性模型HDFS應用需要一個一次寫入屢次讀取的文件訪問模型。一個文件經過創(chuàng)立、寫入和關閉之后就不需要 改變。這一假設簡化了數據一致性

5、問題,并且使高吞吐量的數據訪問成為可能。Map/Reduce 應用或者網絡爬蟲應用都非常適合這個模型。目前還有方案在將來擴充這個模型,使之支持文件的附加寫操作。5異構軟硬件平臺間的可移植性HDFS在設計的時候就考慮到平臺的可移植性。這種特性方便了HDFS作為大規(guī)模數據應用平臺的推廣。6硬件錯誤硬件錯誤是常態(tài)而不是異常。HDFS可能由成百上千的效勞器所構成,每個效勞器上存儲著文件系統(tǒng)的部分數據。我們面對的現(xiàn)實是構成系統(tǒng)的組件數目是巨大的,而且任一組件都有可能失效,這意味著總是有一部 分HDFS的組件是不工作的。因此錯誤檢測和快速、自動的恢復是HDFS最核心的架構目標。二HDFS重要名詞解釋HDF

6、S 采用 master/slave 架構。一個HDFS 集群是由一個 Name node 和一定數目的 Data no des 組成 Name node 是一個中心效勞器,負責管理文件系統(tǒng)的名字空間n amespace以及客戶端對文件的訪問。集群中的Data node 般是一個節(jié)點一個,負責管理它所在節(jié)點上的存儲。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數據。從內部看,一個文件其實被分成一個或多個數據塊,這些塊存儲在一組 Data node 上。Name node 執(zhí)行文件系統(tǒng)的名字空間操作,比方翻開、關閉、重命名文件或目錄。它也負責 確定數據塊到具體Data node

7、 節(jié)點的映射。Data node 負責處理文件系統(tǒng)客戶端的讀寫請求。在Name node的統(tǒng)一調度下進行數據塊的創(chuàng)立、刪除和復制。集群中單一 Name node 的結構大大簡化了系統(tǒng)的架構。Name node 是所有HDFS元數據的仲裁者和管理者,這樣,用戶數據永遠不會流過Name node 。1 Name node1HDFS的守護程序。2 記錄文件時如何分割成數據塊的,以及這些數據塊被存數到那些借點上。3 對內存和I/O 進行集中管理4name node是單個節(jié)點,發(fā)生故障將使集群崩潰。2 sec on dary Name node1 監(jiān)控HDFS狀態(tài)的輔助后臺程序2seco ndary N

8、ame node 與name node通訊,定期保存 HDFS元數據快照可以作為備用 name node 使用(3) 當 n ame node 故障時候, sec ondary Name node3 Data node它把每Data node 將HDFS數據以文件的形式存儲在本地的文件系統(tǒng)中,它并不知道有關 HDFS文件的信息。個HDFS數據塊存儲在本地文件系統(tǒng)的一個單獨的文件中。Data node 并不在同一個目錄創(chuàng)立所有的文件,際上,它用試探的方法來確定每個目錄的最正確文件數目,并且在適當的時候創(chuàng)立子目錄。4 jobTracker1用于處理作業(yè)的后臺程序2 決定有哪些文件參與處理,然后切割

9、task并分配節(jié)點3監(jiān)控task,重啟失敗的task4 每個集群只有唯一一個jobTracker ,位于 Master。5 TaskTracker1位于 slave 節(jié)點上,與 data node 結合2 管理各自節(jié)點上的task 由jobTracker 分配3 每個節(jié)點只有一個 tasktracker,但一個tasktracker可以啟動多個 JVM,4與 jobtracker 交互三HDFS數據存儲1 HDFS數據存儲特點1 HDFS被設計成能夠在一個大集群中跨機器可靠地存儲超大文件。2 它將每個文件存儲成一系列的數據塊,除了最后一個,所有的數據塊都是同樣大小的,數據塊的大 小是可以配置的

10、。3 文件的所有數據塊都會有副本。每個副本系數都是可配置的。4 應用程序可以指定某個文件的副本數目。5 HDFS中的文件都是一次性寫入的,并且嚴格要求在任何時候只能有一個寫入者。2心跳機制Data node接收心跳信號和塊狀態(tài)報告Name node 全權管理數據塊的復制,它周期性地從集群中的每個Data node 上(Blockreport)。接收到心跳信號意味著該Data node節(jié)點工作正常。塊狀態(tài)報告包含了一個該所有數據塊的列表。3副本存放副本的存放是HDF列靠性和性能的關鍵。HDF睬用一種稱為機架感知(rack-aware) 的策略來改良數據的可靠性、可用性和網絡帶寬的利用率。4副本選

11、擇為了降低整體的帶寬消耗和讀取延時,HDFS會盡量讓讀取程序讀取離它最近的副本。如果在讀取程序的同一個機架上有一個副本,那么就讀取該副本。如果一個HDFS集群跨越多個數據中心,那么客戶端也將首先讀本地數據中心的副本。5平安模式Name node啟動后會進入一個稱為平安模式的特殊狀態(tài)。處于平安模式的 Name node 是不會進行數據塊的復制的。Name node從所有的 Data node接收心跳信號和塊狀態(tài)報告。四HDFS數據健壯性HDFS的主要目標就是即使在岀錯的情況下也要保證數據存儲的可靠性。常見的三種岀錯情況是:Name node岀錯,Data node岀錯和網絡割裂 (n etwor

12、k partitio ns) 。1磁盤數據錯誤,心跳檢測和重新復制每個Data node 節(jié)點周期性地向 Name node發(fā)送心跳信號。網絡割裂可能導致一局部 Data node 跟Name node失去聯(lián)系。Name node 通過心跳信號的缺失來檢測這一情況,并將這些近期不再發(fā)送心跳信號Data node 標記為宕機,不會再將新的10請求發(fā)給它們。任何存儲在宕機Data node 上的數據將不再有效。Data node的宕機可能會引起一些數據塊的副本系數低于指定值,Name node 不斷地檢測這些需要復制的數據塊,一旦發(fā)現(xiàn)就啟動復制操作。在以下情況下,可能需要重新復制:某個Data n

13、ode 節(jié)點失效,某個副本遭到損壞,Data node 上的硬盤錯誤,或者文件的副本系數增大。2集群均衡HDFS的架構支持數據均衡策略。如果某個Data node 節(jié)點上的空閑空間低于特定的臨界點,按照均衡策略系統(tǒng)就會自動地將數據從這個Data node 移動到其他空閑的 Data node 。當對某個文件的請求突然增加,那么也可能啟動一個方案創(chuàng)立該文件新的副本,并且同時重新平衡集群中的其他數據。這些均衡策略目前還沒有 實現(xiàn)。3數據完整性從某個Data node 獲取的數據塊有可能是損壞的,損壞可能是由Data node的存儲設備錯誤、網絡錯誤或者軟件bug造成的。HDFS客戶端軟件實現(xiàn)了對

14、HDFS文件內容的校驗和(checksum) 檢查。當客戶端創(chuàng)立 一個新的HDFS文件,會計算這個文件每個數據塊的校驗和,并將校驗和作為一個單獨的隱藏文件保存在同一個HDFS名字空間下。當客戶端獲取文件內容后,它會檢驗從Data node 獲取的數據跟相應的校驗和文件中的校驗和是否匹配,如果不匹配,客戶端可以選擇從其他Data node 獲取該數據塊的副本。4元數據磁盤錯誤FsImage 和Editlog 是HDFS的核心數據結構。 如果這些文件損壞了,整個HDFS實例都將失效。 因而,Name node可以配置成支持維護多個FsImage 和Editlog 的副本。任何對 FsImage 或者Editlog 的修改,都將同步到它們的副本上。這種多副本的同步操作可能會降低Name node每秒處理的名字空間事務數量。然而這個代價是可以接受的,因為即使HDFS的應用是數據密集的,它們也非元數據密集的。當Name node 重所在。如果Name n

溫馨提示

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

評論

0/150

提交評論