10 3 檔案分布式系統HDFS

2022-03-07 04:05:13 字數 2140 閱讀 6451

首先,它是乙個檔案系統,用於儲存檔案,通過統一的命名空間——目錄樹來定位檔案

其次,它是分布式的,由很多伺服器聯合起來實現其功能,集群中的伺服器有各自的角色;

hdfs是分布式檔案系統(多個datanode更親切點吧)

設計思想:分而治之:將大檔案、大批量檔案,分布式存放在大量伺服器上,以便於採取分而治之的方式對海量資料進行運算分析。

重要特性如下:

(1)hdfs中的檔案在物理上是

分塊儲存(block)

,塊的大小可以通過配置引數( dfs.blocksize)來規定,預設大小在

hadoop2.x

版本中是

128m

,老版本中是

64m(2)hdfs檔案系統會給客戶端提供乙個

統一的抽象目錄樹,客戶端通過路徑來訪問檔案,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data

(3)目錄結構及檔案分塊資訊(元資料

)

的管理由

namenode節點承擔

——namenode

是hdfs

集群主節點,負責維護整個

hdfs

檔案系統的目錄樹,以及每乙個路徑(檔案)所對應的

block

塊資訊(

block的id

,及所在的

datanode

伺服器(4)檔案的各block儲存管理datanode點承擔

---- datanode是

hdfs

集群從節點,每乙個

block

都可以在多個

datanode

上儲存多個副本(副本數量也可以通過引數設定

dfs.replication

)(5)hdfs是設計成適應一次寫入,多次讀出的場景,且不支援檔案的修改。讀的速度快。

為各類分布式運算框架(如:mapreduce,

spark

,tez

,……)提供資料儲存服務

hdfs集群分為兩大角色:

namenode

、datanode

namenode負責管理整個檔案系統的元資料

datanode 負責管理使用者的檔案資料塊

檔案會按照固定的大小(blocksize)切成若干塊後分布式儲存在若干臺

datanode

上每乙個檔案塊可以有多個副本,並存放在不同的datanode上

datanode會定期向namenode匯報自身所儲存的檔案

block

資訊,而

namenode

則會負責保持檔案的副本數量

hdfs的內部工作機制對客戶端保持透明,客戶端請求訪問

hdfs

都是通過向

namenode

申請來進行

客戶端將要讀取的檔案路徑傳送給namenode,

namenode

獲取檔案的元資訊(主要是

block

的存放位置資訊)返回給客戶端,客戶端根據返回的資訊找到相應

datanode

逐個獲取檔案的

block

並在客戶端本地進行資料追加合併從而獲得整個檔案

客戶端要向hdfs寫資料,首先要跟

namenode

通訊以確認可以寫檔案並獲得接收檔案

block

的datanode

,然後,客戶端按順序將檔案逐個

block

傳遞給相應

datanode

,並由接收到

block

的datanode

負責向其他

datanode

複製block

的副本

分布式檔案系統 HDFS

hdfs源於google發表的乙份gfs hdfs是hadoop專案的核心子專案,是分布式計算中資料儲存管理的基礎,可以執行在廉價機器上,具有高容錯 高可靠性 高可擴充套件性 高獲得性 高吞吐率等特性,為超大資料集的應用處理帶來極大便利。1 hdfs的優點 1 高容錯性 資料自動儲存多個版本,通過增...

分布式檔案系統HDFS

以 bin dfs dfs 開頭的shell命令方式 1 在hdfs中為hadoop使用者建立乙個使用者目錄 hadoop使用者 2 在使用者目錄下建立乙個input目錄 3 在hdfs的根目錄下建立乙個名稱為input的目錄 4 刪除hdfs根目錄中的 input 目錄 在該檔案裡面可以隨意輸入一...

分布式檔案系統HDFS

以 bin dfs dfs 開頭的shell命令方式 1 在hdfs中為hadoop使用者建立乙個使用者目錄 hadoop使用者 2 在使用者目錄下建立乙個input目錄 3 在hdfs的根目錄下建立乙個名稱為input的目錄 4 刪除hdfs根目錄中的 input 目錄 在該檔案裡面可以隨意輸入一...