1、客戶端向NameNode發出寫文件請求。檢查是否已存在文件、檢查權限。若通過檢查,直接先将操作寫入EditLog,并返回輸出流對象。
2、client端按128MB的塊切分文件。client将NameNode返回的分配的可寫的DataNode列表和Data數據一同發送給最近的第一個DataNode節點,此後client端和NameNode分配的多個DataNode構成pipeline管道,client端向輸出流對象中寫數據。client每向第一個DataNode寫入一個packet,這個packet便會直接在pipeline裡傳給第二個、第三個…DataNode。
3、每個DataNode寫完一個塊後,會返回确認信息。
4、寫完數據,關閉輸輸出流。發送完成信号給NameNode。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!