HDFS讀寫流程
HDFS寫流程(上傳文件)

- client向NN發請求上傳數據;
- NN檢查數據:檢查文件上傳的目錄是否存在,是否存在此文件
- NN向client響應上傳
- (client是分塊上傳)client向NN請求上傳blk1
- NN查詢DN信息:哪些DN是活躍,是否宕機,存儲空間怎麼樣
- NN向client返回能夠上傳的DN
- 就近原則上傳blk1的請求
- DN1收到請求後會把消息傳給DN2,DN2傳給DN3,而後從DN3逐步返回知道client’,即完成pipeline(管道)的創建,pipeline是爲了後續blk的傳輸作準備
- Client把blk1上傳到DN1(是分packet進行傳輸的),DN1發送DN2,DN2發送ND3
- Blk1上傳後,要向NN發送上傳完成消息:用於記錄存儲空間等信息;同時也向client發送上傳完成消息
- Client開始上傳其餘blk
HDFS讀流程(下載文件)spa

- client向NN請求下載文件
- NN向client返回元數據:包括多少個blk,分別在哪些DN上
- Client向DN1請求下載數據blk1
- DN1向client傳輸數據blk1
- 請求其餘blk的下載
歡迎關注本站公眾號,獲取更多信息