hadoop 3 HDFS讀寫流程

2021-10-06 09:23:53 字數 1446 閱讀 2353

client按照預設block大小切割(如200m)。200的資料會被切割成128 72兩個個block塊

然後按下圖開始寫。

第乙個block走全流程,後面的block之前從addblock()開始

1.客戶端通過distributed filesystem模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在

2.namenode返回是否可以上傳

3.客戶端請求第乙個 block上傳到哪幾個datanode伺服器上(就近原則,離當前client近的優先)

4.namenode返回3個datanode節點,分別為dn1、dn2、dn3

5.資料切割,先按照chunkchecksum組成小包(512bytes+4bytes),然後塞入packet(64kb)。

hdfs傳輸資料生成的crc檔案實際上就是校驗檔案。

6.hdfs以packet為單位傳輸檔案。此時分兩個流向:

- datanode01->datanode02->datanode03

- ack queue

7.當傳送成功乙個packet後,逆方向返回結果datanode03->datanode02->datanode01。然後刪除ack queue中的備份

8.當向datanode資料傳出完成後,更新namenode中的對映關係。

9.開始傳輸下乙個block,重複5-8

傳輸結束後,資料結構如下:

1.如dn2傳輸失敗,無法返回ack,dn也無法感知到dn2

2.如果某個packet傳輸失敗:

真實環境中,集群中有很多機架。每個機架有乙個交換機,每個機架之間有乙個交換機。

如果client機器本地有block優先選擇此機器

次優先選擇同乙個機架的機器

最後再選擇交換機少的路徑。

Hadoop啟蒙 HDFS讀寫流程

hdfs是基於谷歌的 gfs 的開源實現的乙個分布式檔案系統。優點 適合儲存大量資料。可以執行在廉價計算機上。易擴充套件 高容錯。缺點 不支援修改,只能追加。小檔案過多會降低效能,會導致記憶體中的元資料量增多,會對mapreduce計算造成影響。乙個檔案同一時間只能乙個客戶端操作。namenode ...

Hadoop詳解與HDFS讀寫流程

hadoop 包含分布式檔案系統和分布式計算的乙個框架。hdfs,mapreduce hadoop專案模組包括4部分 hadoop common 工具類 hadoop distributed system hdfs 分布式檔案系統 hadoop yarn 分布式資源管理 hadoop mapredu...

hdfs讀寫流程 HDFS 讀寫流程(詳解)

hdfs hadoop distributed file system 是gfs的開源實現。1 優點 因為有多個副本,可以保證資料可靠,容錯性高 計算向資料移動,適用於批處理 適合大資料處理,gb tb pb級資料,百萬以上的檔案,十萬以上的節點 可以構建在廉價機器上,通過多副本提高可靠性 2 缺點...