1
)客戶端通過
distributed filesystem
模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。 2
)namenode返回是否可以上傳。 3
)客戶端請求第乙個
block
上傳到哪幾個
datanode
伺服器上。 4
)namenode返回3個
datanode
節點,分別為
dn1、
dn2、
dn3。 5
)客戶端通過
fsdataoutputstream
模組請求
dn1上傳資料,
dn1收到請求會繼續呼叫
dn2,然後
dn2呼叫
dn3,將這個通訊管道建立完成。 6
)dn1
、dn2
、dn3
逐級應答客戶端。 7
)客戶端開始往
dn1上傳第乙個
block
(先從磁碟讀取資料放到乙個本地記憶體快取),以
packet
為單位,
dn1收到乙個
packet
就會傳給
dn2,
dn2傳給
dn3;
dn1每傳乙個
packet
會放入乙個應答佇列等待應答。
8)當乙個
block
傳輸完成之後,客戶端再次請求namenode上傳第二個
block
的伺服器。(重複執行
3-7步)。
HDFS寫檔案流程
hdfs寫入檔案流程圖如下 1 客戶端呼叫distributed filesystem.create path 方法,與namenode進行rpc通訊,引數為路徑path。檢查傳入的路徑是否存在,以及當前使用者是否有寫入許可權。假如都滿足,就建立乙個新的檔案,但是此時並不關聯任何的block。並且返...
HDFS 寫檔案流程
hdfs寫檔案流程,需要先看懂下面2張圖 如圖 有2個機架伺服器群,通過交換機進行互動,其中同乙個群的不同機架都通過群內的伺服器進行互動。例子中設定的3個副本放置在2個機架服務群上,其中副本1,2絕對不在同乙個機架群。這是為了防止有人把副本設定為2,然後a1,a2都分配到乙個機架服務群。假設乙個資料...
HDFS的寫資料流程
hdfs的寫資料流程 1 客戶端通過distributed filesystem模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。2 namenode返回是否可以上傳。3 客戶端請求第乙個block上傳到哪幾個datanode伺服器上。4 namenode返...