【大數據學習08】Hadoop中HDFS架構知識點

HDFS=Hadoop Distributed File System(Hadoop分佈式文件系統)

硬件故障

HDFS由數百上千個服務器機器組成,每臺機器都存儲數據的一部分,每個組件都有可能失效,所以HDFS的某些組件始終是分功能性的。所以,故障檢測和快速自動恢復是HDFS的核心架構目標。

流式訪問數據

運行在HDFS上的程序訪問數據集是採用流訪問。HDFS並不是運行在通用文件系統上的應用程序,HDFS更多的是爲批處理而設計的,而不是用戶交互使用。重點是數據訪問的高吞吐量不是數據訪問的低延遲。可移植性的操作系統接口降低了HDFS的應用程序的硬需求。

大數據集

HDFS擁有大型數據集,HDFS的典型文件是GB到TB,因此,HDFS被調優爲支持大文件,所以HDFS不適合存儲小文件(每一個NN存儲的塊信息是以150B爲位,大文件是150B,小文件是150B)。

簡單的一致性

HDFS採用的是文件一次寫出多次讀取。當文件寫入完成,出了追加和街區,不能進行修改,支持將內容附加到文件末尾,但是不能在指定位置進行更新,簡化了數據一致性問題,並支持高吞吐量數據訪問。

移動計算比移動數據便宜

如果應用程序的計算在其操作的數據附近執行,那麼它的效率會高很多,當數據集的很大時更加明顯,這個模式將最小化網絡堵塞,並提高系統的整體吞吐量。(將計算遷移到離數據更近的地方通常比將數據遷移到應用程序運行的地方要好)HDFS爲應用程序提供了接口,是它們更接近數據所在的地方。

異構硬件和軟件平臺的可以移植性

HDFS基於的是跨平臺語言java,所以HDFS被設計成易於平臺間的移植。

集羣中單個NN極大簡化了系統體系結構。NN是所有HDFS元數據的仲裁器和存儲庫。該系統的設計方式是:用戶數據永遠不流經NN。
NN存儲什麼? 參考資料

答:1)目錄樹(整個文件系統的目錄)->持久化到FsImage
2)文件名與blockid的映射關係 ->持久化到FsImage
3)blockid所在的DN信息(NN啓動時,DN彙報給NN,並加載到NN內存中)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章