HDFS 讀 寫資料流程

2022-07-25 10:45:23 字數 887 閱讀 2312

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

namenode 返回是否可以上傳;

客戶端請求namenode,獲取第乙個 block 上傳到哪幾個 datanode 伺服器上;

namenode 返回3個 datanode 節點, 分別為 dn1, dn2, dn3;

客戶端通過 fsdataoutputstream 模組請求 dn1 上傳資料, dn1 收到請求會繼續呼叫 dn2, 然後 dn2 呼叫 dn3,將這個通訊管道建立完成;

dn1, dn2, dn3 逐級應答客戶端;

客戶端開始往 dn1 上傳第乙個 block (先從磁碟讀取資料放到乙個本地記憶體快取), 以 packet 為單位, dn1 收到乙個 packet 就會傳給 dn2, dn2 傳給 dn3;dn1 每傳乙個 packet 會放入乙個應答佇列等待應答;

當乙個 block 傳輸完成之後,客戶端再次請求 namenode 上傳第二個 block 的伺服器。(重複執行 3-7 步)。

1.1 網路拓撲--節點距離計算

1.2 機架感知(副本儲存節點擊擇)

HDFS讀寫資料流程

步驟 1 客戶端通過 distributed filesystem 模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。2 namenode返回是否可以上傳。3 客戶端請求第乙個 block 上傳到哪幾個 datanode 伺服器上。4 namenode返回3...

HDFS讀寫資料流程

hdfs寫資料流程 client向namenode申請寫資料 namenode檢查許可權 是否存在該檔案等,返回是否可以上傳 如果namenode返回可以上傳,client申請上傳第乙個block,請求返回datanode namenode返回三個datanode位址 client請求向dn1,dn...

HDFS 讀寫資料流程

1.網路節點距離 機架感知 下圖中 client 到 dn1 的距離為 4 client 到 nn 的距離為 3 dn1 到 dn2 的距離為 2 2.block 的副本放置策略 namenode 通過 hadoop rack awareness 確定每個 datanode 所屬的機架 id 簡單但...