HDFS的讀寫流程(詳解)

2021-09-20 15:25:59 字數 1112 閱讀 9500

hdfs(hadoop distributed file system)是gfs的開源實現。

1、優點

2、缺點

寫流程如下:

1、客戶端訪問namenode,namenode檢查路徑和許可權,如果路徑中有與要上傳的檔案重名的檔案就不能上傳了,不能覆蓋,如果沒有才建立,建立名為file.copying的臨時檔案;

2、namenode觸發副本放置策略,如果客戶端在集群內的某一台機器,那麼副本第一塊放置在該伺服器上,然後再另外挑兩台伺服器;如果在集群外,namenode會根據策略先找乙個機架選出乙個datanode,然後再從另外的機架選出另外兩個datanode,然後namenode會將選出的三個datanode按距離組建乙個順序,然後將順序返回給客戶端;

3、客戶端會根據返回的三個節點和第乙個節點建立乙個socket連線(只會和第乙個節點建立),第乙個節點又會和第二個節點建立socket連線,由第二個節點又會和第三個節點建立乙個socket連線,這種連線的方式叫pipeline;

4、客戶端會將block切分成package(預設是64kb),以流式在pipeline中傳輸

好處:(1)速度快:時間線重疊(其實流式也是一種變異的並行);

(2)客戶端簡單:副本的概念是透明的;

5、由datanode完成接收block塊後,block的metadata(md5校驗用)通過乙個心跳將資訊匯報給namenode;

6、如果再pipeline傳輸中,任意節點失敗,上游節點直接連線失敗節點的下游節點繼續傳輸,最終在第5步匯報後,namenode會發現副本數不足,一定會出發datanode複製更多副本,客戶端client副本透明;

7、client一直重複以上操作,逐一將block塊上傳,同時datanode匯報block的位置資訊,時間線重疊;

8、最終,如果namenode收到了datanode匯報的所有塊的資訊,將檔案的.copying去掉,檔案可用。

hdfs讀寫流程 HDFS 讀寫流程(詳解)

hdfs hadoop distributed file system 是gfs的開源實現。1 優點 因為有多個副本,可以保證資料可靠,容錯性高 計算向資料移動,適用於批處理 適合大資料處理,gb tb pb級資料,百萬以上的檔案,十萬以上的節點 可以構建在廉價機器上,通過多副本提高可靠性 2 缺點...

詳解HDFS檔案讀寫流程

詳細步驟解析 client發起檔案上傳請求,通過rpc與namenode建立通訊,namenode檢查目標檔案是否已存在,父目錄是否存在,返回是否可以上傳 client請求第乙個block該傳輸到哪些datanode伺服器上 client請求3臺datanode中的一台a上傳資料 本質上是乙個rpc...

hdfs讀寫流程 HDFS 檔案讀寫流程

開啟分布式檔案 呼叫分布式檔案 distributedfilesystem.open 方法 定址請求 從 namenode 處得到 datanode 的位址,distributedfilesystem使用 rpc 方式呼叫了namenode,namenode 返回存有該副本的datanode 位址,...