hdfs數據寫入流程和數據讀取流程


hdfs數據寫入:

第一步:客戶端通過dfs模塊向namenade請求:輸出目錄是否存在、父目錄是否存在

第二步:namenode通過檢查hdfs目錄,返回客戶端結果

第三步:客戶端向namenode請求:數據節點(3個)dn1,dn2,dn3

第四步:namenode將數據節點的具體位置返回給客戶端

第五步:客戶端請求dn1上傳數據,dn1收到請求后會繼續調用dn2,dn2收到請求后會繼續調用dn3.將通信管道建立,dn1,dn2,dn3逐級響應客戶端。

第六步:客戶端開始上傳第一個block,先將數據放到緩存,以pocket為單位(64K),dn1收到pocket后,會傳給dn2,dn2收到后會傳給dn3。

第七步:當第一個block上傳完之后,客戶端再次請求namenode,准備第二個block數據塊的上傳。

 

hdfs數據讀取:

第一步:客戶端通過dfs模塊向namenode請求下載文件,namenode通過元數據查找,返回dn的地址

第二步:挑選dn(就近原則>隨機原則),請求獲取數據

第三步:dn開始給客戶端發送數據,以pocket為單位

第四步:客戶端以pocket為單位接受數據,先本地緩存,后寫入到目標文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM