Hadoop HDFS分佈式文件系統簡介

在大數據時代,需要處理分析的數據集的大小已經遠遠超過了單臺計算機的存儲能力,因此需要將數據集進行分區並存儲到若干臺獨立的計算機中。但是,分區存儲的數據不方便管理和維護,迫切需要一種文件系統來管理多臺機器上的文件,這就是分佈式文件系統。


分佈式文件系統是一種允許文件通過網絡在多臺主機上進行分享的文件系統,可讓多臺機器上的多用戶分享文件和存儲空間。
HDFS 是 Hadoop 的一個分佈式文件系統,是 Hadoop 應用程序使用的主要分佈式存儲。HDFS 被設計成適合運行在通用硬件上的分佈式文件系統。
在 HDFS 體系結構中有兩類結點:一類是 NameNode,又叫“名稱結點”;另一類是 DataNode,又叫“數據結點”。這兩類結點分別承擔 Master 和 Worker 具體任務的執行。
HDFS 總的設計思想是分而治之,即將大文件和大批量文件分佈式存放在大量獨立的服務器上,以便採取分而治之的方式對海量數據進行運算分析。
HDFS 是一個主/從體系結構,從最終用戶的角度來看,它就像傳統的文件系統一樣,可以通過目錄路徑對文件執行 CRUD(Create、Read、Update 和 Delete)操作。但由於分佈式存儲的性質,HDFS 集群擁有一個 NameNode 和一些 DataNode。NameNode 管理文件系統的元數據,DataNode 存儲實際的數據。
客戶端通過同 NameNode 和 DataNode 的交互來訪問文件系統。客戶端通過聯繫 NameNode 來獲取文件的元數據,而真正的文件 I/O 操作是直接和 DataNode 交互進行的。
HDFS 主要針對“一次寫入,多次讀取”的應用場景,不適合實時交互性很強的應用場景,也不適合存儲大量小文件。


分享到:


相關文章: