1. 程式人生 > >HDFS寫檔案過程

HDFS寫檔案過程

  • 客戶端呼叫create()來建立檔案
  • DistributedFileSystem用RPC呼叫元資料節點,在檔案系統的名稱空間中建立一個新的檔案。
  • 元資料節點首先確定檔案原來不存在,並且客戶端有建立檔案的許可權,然後建立新檔案。
  • DistributedFileSystem返回DFSOutputStream,客戶端用於寫資料。
  • 客戶端開始寫入資料,DFSOutputStream將資料分成塊,寫入data queue。
  • Data queue由Data Streamer讀取,並通知元資料節點分配資料節點,用來儲存資料塊(每塊預設複製3塊)。分配的資料節點放在一個pipeline裡。
  • Data Streamer將資料塊寫入pipeline中的第一個資料節點。第一個資料節點將資料塊傳送給第二個資料節點。第二個資料節點將資料傳送給第三個資料節點。
  • DFSOutputStream為發出去的資料塊儲存了ack queue,等待pipeline中的資料節點告知資料已經寫入成功。