Hadoop分布式檔案系統HDFS

2021-08-19 03:52:56 字數 1908 閱讀 3780

2023年4月21號

主要概述:hdfs是以流式資料訪問模式來儲存超大檔案。執行於商用硬體集群上的

詳細解析:

(1)超大檔案:就是單個檔案達到幾百mb至幾百tb甚至pb的檔案。

(2)(3)

商用硬體集群上:商用硬體就是不貴也不是高可靠的硬體裝置。就是容錯性好,個別節點掛了,對整個系統不產生任何影響,主要是靠資料在各個節點上資料塊的備份啦。

(4)hdfs對於要求低時間延遲的資料訪問的應用不適合:hdsf是處理大量資料的,當然會為了更好的適用大資料的環境,而進行優化,這樣可能會產生更大的時間延遲(資料在各個硬體裝置之間傳送(map和reduce)當然需要時間了)。

(5)無法儲存大量的小檔案:受限於namenode的記憶體容量,namenode是儲存檔案系統的元資料的。過多的檔案數量當然會讓namenode的記憶體崩潰啦。

(6)不支援多使用者寫入和任意位置修改檔案:

應該是hdfs只支援單使用者寫,可能需要建立副本所以怕衝突吧。

hdfs本來就不是適合頻繁寫入的檔案系統,他比較適合一次寫入,多次使用。

如果任意位置修改要找到所有的副本中的那個修改位置,並且一起修改,效率太低且容易出錯。

1、資料塊:就是借鑑磁碟的設計理念。單個磁碟上磁碟進行資料讀/寫的最小單位。只是如果hdfs的乙個小於塊的檔案不會佔據整個塊的空間。

2、資料塊大:有利於最小化定址的開銷,但是也不能太大,乙個map任務一次只處理乙個塊中的資料,資料塊大的話,map任務就會少,單個map任務的負擔就會太大,作業執行速度也會變慢。

3、資料塊的抽象的好處:

(1)將乙個檔案切分成資料塊,這樣做的好處就是乙個檔案可以比所有單個的磁碟容量都大。

(2)還有就是我前面講到的可以備份啦,提高系統容錯。

(3)塊只有檔案的部分資料且沒有元資料,可以在檔案系統中統一管理檔案的元資料,如許可權資訊

1、乙個namenode和多個datanode。

namenode:管理檔案系統的命名空間以及維護著檔案系統樹和整棵樹內的所有的檔案和目錄。這些資訊以兩個檔案形式永久儲存在本地磁碟上:命名空間映象檔案和編輯日誌檔案

2、datanode就是儲存資料和檢索資料並定期向namenode報告所儲存的塊的列表。

另外還有乙個輔助namenode,也叫secondaryname,可以定期通過編輯日誌合併命名空間映象,這樣secondarynamenode儲存了namenode的大部分資料,但是還是會讓還未編輯日誌檔案的資料丟失。

3、hdfs聯邦

允許系統通過新增namenode實現擴充套件,每個namenode負責維護乙個命名空間,既乙個目錄。例如:乙個維護/etc,乙個維護/dev.兩個namenode互不影響。

資料塊池不會再進行切分,,需要在datanode中註冊所有namenode(應該就是在配置檔案中註冊),

4、高可用性:乙個活動的namenode掛了,另乙個備用的立馬頂上去,備用的namenode將通讀日誌檔案,以達到與活動的namenode一樣的狀態。檢測宿主namenode以及datanode是否掛了,是通過乙個簡單的心跳機制實現。

5、偽分布式配置時,兩個屬性項的介紹:fs.defaultfs,設定為hdfs:\\localhost:9000

用於設定hadoop的主節點資訊,以及定義使用哪個filesystem作為預設的檔案系統。dfs.replication:設定為1.這樣系統就不會按照預設的將資料塊複製三份備份了。在乙個單獨的datanode上執行時,hdfs無法將塊複製到3個datanode上,所以會報副本不足的警告。

四、hadoop檔案系統

在org.apache.hadoop.fs中定義了檔案系統介面,如圖:

在處理大資料集的時候,最好採用有資料本地優化的檔案系統,如hdfs

學習《hadoop權威指南》

分布式檔案系統

分布式檔案系統 概述 系統管理員可以利用分布式檔案系統 dfs 使使用者訪問和管理那些物理上跨網路分布的檔案更加容易。通過 dfs,可以使分布在多個伺服器上的檔案在使用者面前顯示時,就如同位於網路上的乙個位置。使用者在訪問檔案時不再需要知道和指定它們的實際物理位置。例如,如果您的銷售資料分散在某個域...

分布式檔案系統

常見的分布式檔案系統有,gfs hdfs lustre ceph gridfs mogilefs tfs fastdfs等。各自適用於不同的領域。它們都不是系統級的分布式檔案系統,而是應用級的分布式檔案儲存服務。google學術 這是眾多分布式檔案系統的起源 google file system 大...

分布式檔案系統

缺點是檔案路徑是一致的,只能用於嵌入式檔案的儲存,沒有辦法作為系統請求檔案的儲存,不過對於web2.0可以從設計層面進行一些改善,將使用者的資料互動更多地方在伺服器端,而不是資料庫中,比如使用者的文章就在 com yyy裡面,但是這又帶來一些新的問題,檔案同步負載均衡等問題。現在著眼於將自製的web...