HDFS分散式檔案系統

山有木xi發表於2020-06-05

分散式檔案系統(Hadoop Distributed File System)是Hadoop核心子專案,為Hadoop提供了一個綜合性的檔案系統抽象,並且只會實現了多類檔案系統的介面。HDFS基於流式資料訪問、儲存和處理超大檔案。

在HDFS中引入了存放後設資料資訊的伺服器:NameNode和實際存放資料的伺服器:DataNode。

HDFS有著顯著的特點

  • 儲存資料較大

執行在HDFS的應用程式的資料處理有較大的需求,從儲存GB到儲存TB級別的超大檔案,在目前的實際應用中,HDFS以及被利用來管理儲存PB級別的資料

  • 支援多硬體平臺

Hadoop可以執行在廉價、異構的商用硬體叢集上,並且可以在HDFS設計時充分考慮資料的可靠性、安全性、高可用性

  • 支援流式資料

HDFS有一個設計思路是“寫入一次,多次讀取”、資料來源生成資料集後,會被複制分發到不同的儲存節點,已用於響應資料分析任務的請求。HDFS放寬了可移植作業系統介面的要求,可以以流的形式訪問檔案系統中的資料

  • 資料的一致性高

因為採用“寫入一次,多次讀取”的策略,所以支援追加不支援多次修改,降低了資料不一致性的造成可能

  • 有效預防硬體失效

HDFS的設計能夠有效預防硬體異常並且具有自動恢復資料的能力

  • 高容錯性

HDFS能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新發配,具有高容錯性

所以,HDFS經常被使用於各個場景下,例如:

大資料儲存:分散式儲存

日誌處理:擅長日誌分析

ETL:資料可抽取到MYSQL,oracle,Lucene

機器學習

搜尋引擎

但是,相對於的,HDFS也有不適應的地方

不適合低延遲的資料訪問

HDFS不適合處理那些資料訪問要求低延遲的請求,因為HDFS主要是為了高資料的吞吐設計的,會產生稿時間延遲的代價

無法高效的儲存大量小檔案

HDFS採用主從架構來儲存資料,需要用到NameNode來管理檔案系統的後設資料,以響應請求。為了快速響應請求,後設資料存在主節點的記憶體中,如果小檔案數量多達,容易造成記憶體不足,導致系統錯誤

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2696464/,如需轉載,請註明出處,否則將追究法律責任。

相關文章