HDFS中DataNode工作機制

2021-10-02 13:05:52 字數 1060 閱讀 9026

1、datanode工作機制

(1) 乙個資料塊在 datanode 上以檔案形式儲存在磁碟上,包括兩個檔案,乙個是資料本身,乙個是元資料報括資料塊的長度、塊資料的校驗和以及時間戳。

(2) datanode 啟動後向 namenode 註冊,通過後,週期性(1小時)的向 namenode 上報所有的塊資訊。

(3) 心跳是每3秒一次,心跳返回結果帶有 namenode 給該 datanode 的命令如複製塊資料到另一台機器,或刪除某個資料塊。如果超過10分鐘沒有收到某個 datanode 的心跳,則認為該節點不可用。

(4) 集群執行中可以安全加入和退出一些機器。

2、資料完整性

datanode節點上的資料損壞了,卻沒有發現,這是一種非常危險的事情,對業務和實際應用都會產

生很大的影響,那麼這個問題該如何解決呢?

(1) 當datanode讀取block的時候,它會計算checksum。

(2) 如果計算後的checksum,與block建立時值不一樣,說明block已經損壞。

(3) client讀取其他datanode上的block。

(4) datanode在其檔案建立後週期驗證checksum,如下圖。

3、datanode掉線時限引數設定

需要注意的是 hdfs-site.xml 中的 heartbeat.recheck.interval 的單位為毫秒,dfs.heartbeat.interval 的單位為秒。

dfs.namenode.heartbeat.recheck-interval

300000

dfs.heartbeat.interval

3

HDFS中DataNode工作機制

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

hdfs中datanode和namenode的坑

在聊心酸史之前,先鋪墊一下問題的由來 本來就是簡單的使用簡單操作檔案到hdfs中,同樣的 別的同學都好使,而我的不行,如下 謹記 c windows system32 drivers etc hosts做ip對映,否則連線不上 from hdfs.client import client 關於pyt...

HDFS的DataNode原始碼分析

1.大致流程 datanode.main 入口函式 securemain args,null createdatanode args,null,resources 建立datanode instantiatedatanode args,conf,resources getstoragelocatio...