1. 程式人生 > >HDFS的兩大核心和元資料合併

HDFS的兩大核心和元資料合併

  • 1.客戶端向namenode傳送上傳的請求
  • 2.namenode進行一系列的檢查(許可權 檔案的父目錄是否存在,檔案是否已經存在同名等等,檢查通過則允許上傳)
  • 3.允許客戶端上傳
  • 4.客戶端傳送真正的檔案上傳的請求,(請求中包含一個重要資訊:檔案的長度/大小)
  • 5.namenode根據檔案的長度計算檔案的切塊個數 檔案的大小(200/128=2),獲取副本的配置資訊(dfs.replication=3),返回副本的節點的時候遵循:就近原則,客戶端所在節點,不同機架
  • 6.客戶端準備檔案上傳
  • 7.客戶端對檔案進行邏輯切塊
    • 邏輯切塊:在形式上的切分(並沒有真正的進行切分,只是一個範圍的劃分)
    • 物理切塊:對資料進行真正的切分的過程
  • 8.開始上傳第一個資料塊
  • 9.先構建第一個資料塊上傳的通道pipline,(客戶端->向節點發),構建通道的時候,客戶端啟動搞一個阻塞程序,等待datanode的響應
  • 10.開始第一個資料塊的資料上傳(客戶端上傳到datanode01,先上傳到記憶體中,存在磁盤裡,datanode03向01進行資料拷貝)【檔案上傳的過程以packet為單位進行傳輸的64K為單位進行寫的】
  • 11.第一個資料塊上傳成功,關閉當前的pipline
  • 12.開始上傳第二個資料塊
  • 13.重複9,10,11
  • 14.當所有的資料塊上傳完成,客戶端向namenode反饋