DataNode的工作機制

2021-09-10 02:09:11 字數 1403 閱讀 9841

資料完整性

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

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

3)、client讀取其他datanode上的block

4)、datanode在其檔案建立後週期驗證checksum

掉線時限引數設定

datanode程序死亡或者網路故障造成datanode無法與namenode通訊,namenode不會立即把該節點判定為死亡,要經過一段時間,這段時間暫稱作超時時長。hdfs預設的超時時長為10分鐘+30秒。如果定義超時時間為timeout,則超時時長的計算公式為:

timeout = 2 * dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval

而預設的dfs.namenode.heartbeat.recheck-interval 大小為5分鐘,dfs.heartbeat.interval預設為3秒

需要注意的是hdfs-site.xml配置檔案的heartbeat.recheck.interval的單位為毫秒,dfs.heartbeat.interval的單位為秒

dfs.namenode.heartbeat.recheck-interval

300000

dfs.heartbeat.interval 3

datanode的目錄結構

和namenode不同的是,datanode的儲存目錄是初始階段自動建立的,不需要額外格式化

1)在/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current這個目錄下檢視版本號

[***@*** current]$ cat version

storageid=ds-1b998a1d-71a3-43d5-82dc-c0ff3294921b

clusterid=cid-1f2bf8d1-5ad2-4202-af1c-6713ab381175

ctime=0

datanodeuuid=970b2daf-63b8-4e17-a514-d81741392165

storagetype=data_node

layoutversion=-56

2)具體解釋

(1)、storageid:儲存id號

(2)、clusterid:集群id,全域性唯一標識

(3)、ctime屬性標記了datanode儲存系統的建立時間,對於剛剛格式化的儲存系統,這個屬性為0,但是在檔案系統公升級後,該值會更新到新的時間戳

(4)、datanodeunid:datanode的唯一識別碼

(5)、storagetype:儲存型別

(6)、layoutversion是乙個負整數,通常只有hdfs增加新特性時才會更新這個版本

datanode工作機制詳解

datanode 的工作機制 問題場景 1 集群容量不夠,怎麼擴容?2 如果有一些 datanode 宕機,該怎麼辦?3 datanode 明明已啟動,但是集群中的可用 datanode 列表中就是沒有,怎麼辦?1 概述1 datanode工作職責 儲存管理使用者的檔案塊資料 定期向namenode...

HDFS中DataNode工作機制

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

HDFS中DataNode工作機制

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