Hadoop-HDFS架構上

HDFS簡介服務器

HDFS是Hadoop分佈式文件系統,是Apache Hadoop Core項目的一部分。設計用於在廉價的硬件上遠行,具備高度容錯,高吞吐量適用於大數據集的應用程序。HDFS放寬了一些POSIX的要求,以實現對文件系統的流式訪問。 HDFS的核心架構的目標微信

硬件故障是沒法避免的。HDFS實例可能由數百或前臺服務器組成。每臺服務器存儲文件系統數據的一部分,有大量的組件,並且每一個組件都有必定的故障率。所以,故障檢測和快速,自動恢復是HDFS的核心架構的目標 簡單一致性網絡

HDFS是一次寫屢次讀的訪問模型。對文件的操做有建立,寫入和關閉。不能在任意點更新文件但支持將內容追加到文件的末尾。能夠追加和截斷文件。這簡化了數據一致性問題而且支持高吞吐量的數據訪問。MapReduce應用程序或Web爬蟲很是適合這個模式 。 移動計算
若是應用程序請求的的計算在其操做數據的附近,那麼計算的效率就會提升好多。當數據集不少時更是如此。並且會最小化網絡堵塞,提升系統的總體吞吐量。將計算遷移到離數據更近的地方比將數據遷移到計算運行的地方更好。HDFS爲應用程序提供了這樣的API,使計算更接近數據所在的位置。 可移植性
將HDFS從一個平臺遷移到另一個平臺是很是方便的。 NameNode and DataNode HDFS是Master/Slave架構,HDFS羣集由單個NameNode和多個DataNode組成。後面的在深刻NameNode HA的時候會介紹到Secondary NameNode。架構

NameNode,是HDFS的主節點和中心節點。它管理文件系統的命名空間和客戶端對文件的訪問,執行文件系統命名空間的操做如文件的打開,關閉,文件的重命名和目錄的管理,肯定塊到DataNode的映射,保存文件系統中全部文件的目錄樹以及文件和目錄的元數據。元數據包含完整的文件名,最後訪問時間,最後修改時間,訪問權限,塊的劃分,文件的複製級別等。元數據存儲在fsImage和edit log兩個文件中。分佈式

DataNode存儲文件的塊數據。在HDFS中文件會被分紅一個或多個塊,這些塊操做在一組DataNode中。DataNode負責客戶端的讀寫請求,還根據NameNode的指令執行對塊的建立,刪除和複製。架構以下圖:oop

後續會詳細分析NameNode和DataNode以及它們的通訊機制。大數據

微信公衆號同步設計

相關文章
相關標籤/搜索