1. 程式人生 > >淺談HDFS的讀流程

淺談HDFS的讀流程

tps otto 如果 rmp dfs margin 驗證 https class

1、使用HDFS提供的客戶端Client,向遠程的Namenode發起RPC請求;

2、Namenode會視情況返回文件的部分或者全部block列表,對於每個block,Namenode都會返回有該block拷貝的DataNode地址;

3、客戶端Client會選取離客戶端最近的DataNode來讀取block;如果客戶端本身就是DataNode,那麽將從本地直接獲取數據;

4、讀取完當前block的數據後,關閉當前的DataNode鏈接,並為讀取下一個block尋找最佳的DataNode;

5、當讀完列表block後,且文件讀取還沒有結束,客戶端會繼續向Namenode獲取下一批的block列表;

6、讀取完一個block都會進行checksum驗證,如果讀取datanode時出現錯誤,客戶端會通知Namenode,然後再從下一個擁有該block拷貝的datanode繼續讀。

技術分享圖片

客戶端及讀取HDFS中的數據的流程圖


技術分享圖片


淺談HDFS的讀流程