HDFS 的工作機制 讀操作

2021-08-13 02:54:47 字數 824 閱讀 3213

1、 client 向 namenode 發起 rpc 請求,來確定請求檔案 block 所在的位置;

2、 namenode會視情況返回檔案的部分或者全部block列表,對於每個block,namenode 都會返回含有該 block 副本的 datanode 位址;

3、 這些返回的 dn 位址,會按照集群拓撲結構得出 datanode 與客戶端的距離,然後進行排序,排序兩個規則:網路拓撲結構中距離 client 近的排靠前;心跳機制中超時匯報的 dn 狀態為 stale,這樣的排後

4、 client 選取排序靠前的 datanode 來讀取 block,如果客戶端本身就是datanode,那麼將從本地直接獲取資料;

5、 底層上本質是建立 socket stream(fsdatainputstream),重複的呼叫父類 datainputstream 的read 方法,直到這個塊上的資料讀取完畢;

6、 當讀完列表的 block 後,若檔案讀取還沒有結束,客戶端會繼續向namenode 獲取下一批的 block 列表;

7、 讀取完乙個 block 都會進行 checksum 驗證,如果讀取 datanode 時出現錯誤,客戶端會通知namenode,然後再從下乙個擁有該 block 副本的datanode 繼續讀。

8、 read 方法是並行的讀取 block 資訊,不是一塊一塊的讀取;namenode 只是返回client請求包含塊的datanode位址,並不是返回請求塊的資料;

9、 最終讀取來所有的 block 會合併成乙個完整的最終檔案。

HDFS成員的工作機制

nn負責管理塊的元資料資訊,元資料資訊為fsimage和edits預寫日誌,通過edits預寫日誌來更新fsimage中的元資料資訊,每次namenode啟動時,都會將磁碟中的fsimage讀入到記憶體 當達到snn的checkpoint標準時 一小時或100w次操作 由scc輔助nn進行edits...

HDFS中DataNode工作機制

1 datanode工作機制 1 乙個資料塊在 datanode 上以檔案形式儲存在磁碟上,包括兩個檔案,乙個是資料本身,乙個是元資料報括資料塊的長度 塊資料的校驗和以及時間戳。2 datanode 啟動後向 namenode 註冊,通過後,週期性 1小時 的向 namenode 上報所有的塊資訊。...

HDFS中DataNode工作機制

1.datanode工作機制 1 乙個資料塊在datanode上以檔案形式儲存在磁碟上,包括兩個檔案,乙個是資料本身,乙個是元資料 包括資料塊的長度,塊資料的校驗和,以及時間戳 2 datanode啟動後向namenode註冊,通過後,週期性 1小時 的向namenode上報所有的塊資訊。3 心跳是...