hdfs的讀寫流程


hdfs的讀寫流程

文章插圖
1、客戶端向NameNode發出寫文件請求 。檢查是否已存在文件、檢查權限 。若通過檢查,直接先將操作寫入EditLog,并返回輸出流對象 。
【hdfs的讀寫流程】2、client端按128MB的塊切分文件 。client將NameNode返回的分配的可寫的DataNode列表和Data數據一同發送給最近的第一個DataNode節點,此后client端和NameNode分配的多個DataNode構成pipeline管道 , client端向輸出流對象中寫數據 。client每向第一個DataNode寫入一個packet,這個packet便會直接在pipeline里傳給第二個、第三個…DataNode 。
3、每個DataNode寫完一個塊后,會返回確認信息 。
4、寫完數據,關閉輸輸出流 。發送完成信號給NameNode 。