HDFS讀檔案流程

2021-08-29 03:50:58 字數 538 閱讀 4576

hdfs讀檔案流程圖如下:

1、client通過filesystem.open(path)方法,去與nn進行rpc通訊,nn會校驗傳入的路徑是否存在,使用者是否有許可權訪問該路徑下的檔案。

2、校驗完成後,返回部分或者全部的block列表。其實就是返回fsdatainputstream物件。

3、client呼叫fsdatainputstream的read()方法

a 去第乙個塊的最近的datanode去read,讀完後,會校驗。假如通過,則會關閉與datanode的通訊。假如校驗失敗,會記錄下失敗的塊+dn的資訊,下次就不會再去讀取了。然後再去下乙個datanode讀取該塊資料。

b 然後去第二個塊最近的dn讀取資料,校驗成功後,關閉通訊

c 以此類推,如果block列表全部讀取完畢,檔案還未讀完,則繼續讀取下乙個block列表

4、client呼叫fsdatainputstream的close方法,關閉輸入流

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

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

Hadoop學習之HDFS讀流程

hdfs讀流程圖 假設需要讀取hdfs根目錄下的bigdata.log檔案,使用如下命令 整個流程如下 1 客戶端會呼叫distributedfilesystem.open方法與namenode進行rcp通訊,namenode會返回該檔案的部分或全部的 block列表 也包含該列表各block的分布...

HDFS寫檔案流程

hdfs寫入檔案流程圖如下 1 客戶端呼叫distributed filesystem.create path 方法,與namenode進行rpc通訊,引數為路徑path。檢查傳入的路徑是否存在,以及當前使用者是否有寫入許可權。假如都滿足,就建立乙個新的檔案,但是此時並不關聯任何的block。並且返...