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...