HDFS的寫的流程

1)客戶端通過Distributed FileSystem模塊向NameNode請求上傳文件,NameNode檢查目標文件是否已存在,父目錄是否存在。

2NameNode返回是否可以上傳。

3)客戶端請求第一個 Block上傳到哪幾個DataNode服務器上。

4NameNode返回3DataNode節點,分別爲dn1dn2dn3

5)客戶端通過FSDataOutputStream模塊請求dn1上傳數據,dn1收到請求會繼續調用dn2,然後dn2調用dn3,將這個通信管道建立完成。

6dn1dn2dn3逐級應答客戶端。

7)客戶端開始往dn1上傳第一個Block(先從磁盤讀取數據放到一個本地內存緩存),以Packet爲單位,dn1收到一個Packet就會傳給dn2dn2傳給dn3dn1每傳一個packet會放入一個應答隊列等待應答

8)當一個Block傳輸完成之後,客戶端再次請求NameNode上傳第二個Block的服務器。(重複執行3-7步)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章