Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱HDFS。對外部客戶機而言,HDFS 就像一個傳統(tǒng)的分級文件系統(tǒng)。可以創(chuàng)建、刪除、移動或重命名文件,等等。很多時候,我們就叫它DFS(Distributed File System)。
Hadoop 是一個以一種可靠、高效、可伸縮的方式進行處理的,能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的系統(tǒng)框架。所以可以理解為hadoop是一個框架,HDFS是hadoop中的一個部件。

Paste_Image.png
文件系統(tǒng)是對文件存儲器空間進行組織和分配,負責(zé)文件存儲并對存入的文件進行保護和檢索的系統(tǒng)。
為什么我們需要HDFS:
1.數(shù)據(jù)量巨大,磁盤開始很糾結(jié)的處理我們需要的海量信息。所以需要文件系統(tǒng)有大規(guī)模數(shù)據(jù)分布存儲能力。
2.讀取一塊磁盤的所有數(shù)據(jù)需要很長時間,寫入更是需要更長時間(寫入時間一般是讀取時間的3倍)即使有文件為1ZB,或者小點10EB時,這樣的磁盤也無法做到隨讀隨取。所以需要文件系統(tǒng)有高并發(fā)訪問能力。

Paste_Image.png
- 當(dāng)數(shù)據(jù)集的大小超過一臺獨立物理計算機的存儲能力時,就有必要對它進行分區(qū)并存儲到若干臺單獨的計算機上。

Paste_Image.png
- 從概念圖上看,分布化的文件系統(tǒng)會因為分布后的結(jié)構(gòu)不完整,導(dǎo)致系統(tǒng)復(fù)雜度加大,并且引入的網(wǎng)絡(luò)編程,同樣導(dǎo)致分布式文件系統(tǒng)更加復(fù)雜。所以需要強大的容錯能力。
Paste_Image.png

Paste_Image.png
- HDFS解決以上方案是分片冗余,本地校驗,需要數(shù)據(jù)塊存儲模式
Paste_Image.png

Paste_Image.png
數(shù)據(jù)冗余式存儲,直接將多份的分片文件交給分片后的存儲服務(wù)器去校驗。

Paste_Image.png
冗余后的分片文件還有個額外功能,只要冗余的分片文件中有一份是完整的,經(jīng)過多次協(xié)同調(diào)整后,其他分片文件也將完整。
經(jīng)過協(xié)調(diào)校驗,無論是傳輸錯誤,I/O錯誤,還是個別服務(wù)器宕機,整個系統(tǒng)里的文件是完整的。

Paste_Image.png
- 分布后的文件系統(tǒng)有個無法回避的問題,因為文件不在一個磁盤導(dǎo)致讀取訪問操作的延時,這個是HDFS現(xiàn)在遇到的主要問題。
現(xiàn)階段,HDFS的配置是按照高數(shù)據(jù)吞吐量優(yōu)化的,可能會以高時間延時為代價。但萬幸的是,HDFS是具有很高彈性,可以針對具體應(yīng)用再優(yōu)化。

