我的hadoop集群是三颱伺服器,分別為hadoop101,hadoop102,hadoop103。其中,namenode部署在hadoop101上面,三颱伺服器分別部署乙個datanode,secondarynamenode在hadoop103上。一,客戶端建立乙個檔案系統物件向namenode申請上傳檔案到hdfs的某個目錄。
二,namenode響應客戶端同意上傳。
三,客戶端對檔案按照指定大小(預設為128m)進行切塊,然後請求傳輸第一塊。
四,namenode響應客戶端同意上傳並按照檔案指定的備份數(我這裡是按照配置的3)分配伺服器以及返回伺服器資訊。
五,客戶端開始向namenode分配的伺服器以此進行請求上傳,這裡是客戶端請求第乙個伺服器,第乙個伺服器請求第二個伺服器,第二個請求第三個。。。最終形成乙個鏈式的傳輸通道。
六,各個伺服器應答成功,按照剛才的鏈式通道,從最後乙個依次向前返回應答訊號,最終傳輸到客戶端。
七,開始傳輸檔案,從客戶端開始,依次按照剛才形成的鏈式通道進行傳輸。
八,各個伺服器傳輸完成,客戶端將傳輸完成的資訊報給namenode,namenode將該塊的元資料儲存起來。
依次傳輸各個塊。。。。。
HDFS寫資料流程
客戶端要向hdfs寫資料,首先要跟namenode通訊以確認可以寫檔案並獲得接收檔案block的datanode,然後,客戶端按順序將檔案逐個block傳遞給相應datanode,並由接收到block的datanode負責向其他datanode複製block的副本 客戶端執行寫入操作 當客戶端結束寫...
HDFS寫資料流程
1 客戶端向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。2 namenode返回是否可以上傳。3 客戶端請求第乙個 block上傳到哪幾個datanode伺服器上。4 namenode返回3個datanode節點,分別為dn1 dn2 dn3。5 客戶端請求...
hdfs寫資料流程
1,客戶端向nn請求上傳檔案,nn檢查該檔案和父目錄是否存在。2,nn返回響應給客戶端,是否可以上傳檔案。3,客戶端向nn請求上傳第乙個塊的dn的資訊。4,nn根據副本原則,返回給客戶端塊上傳的dn節點資訊。5,客戶端和dn1建立連線,請求上傳資料,dn1接著和dn2建立連線,dn2和dn3建立連線...