HDFS檔案寫入過程

2021-10-25 18:00:16 字數 670 閱讀 2665

目標:掌握hdfs寫入資料的詳細過程

詳細步驟解析:

list itemclient發起檔案上傳請求,通過rpc與namenode建立通訊,namenode檢查目標檔案是否已存在,父目錄是否存在,返回是否可以上傳;

client請求第乙個block該傳輸到哪些datanode伺服器上;

client請求3臺datanode中的一台a上傳資料(本質上是乙個rpc呼叫,建立pipeline),a收到請求會繼續呼叫b,然後b呼叫c,將整個pipeline建立完成,後逐級返回client;

client開始往a上傳第乙個block(先從磁碟讀取資料放到乙個本地記憶體快取),以packet為單位(預設64k),a收到乙個packet就會傳給b,b傳給c;a每傳乙個packet會放入乙個應答佇列等待應答。

資料被分割成乙個個packet資料報在pipeline上依次傳輸,在pipeline反方向上,逐個傳送ack(命令正確應答),最終由pipeline中第乙個datanode節點a將pipelineack傳送給client;

關閉寫入流。

當乙個block傳輸完成之後,client再次請求namenode上傳第二個block到伺服器。

hdfs檔案寫入與讀取過程

client向namenode請求上傳a.txt namenode檢測client的上傳許可權 namenode回答client是否可以上傳 client將檔案按照block size大小將檔案分為幾份,並向namenode請求上傳乙個block namenode根據datanode上的block資...

HDFS的寫入過程

client發起檔案上傳請求,通過rpc與namenode建立通訊,namenode檢查目標檔案是否已經存在,父目錄是否存在,返回是否可以上傳。client請求第乙個block該傳輸到哪些datanode伺服器上 namenode根據配置檔案中指定的備份數量以及機架感知原理進行檔案分配,返回可用的d...

HDFS檔案的寫入和讀取過程

hdfs檔案寫入 client 發起檔案上傳請求,通過 rpc 與 namenode 建立通訊namenode 檢查目標檔案是否已存在,父目錄是否存在,返回是否可以上傳client請求上傳第乙個 block namenode 根據配置檔案中指定的備份數量及機架感知原理進行檔案分配,返回可用的 dat...