DataNode工作機制
- DataNode啟動后飒焦,首先向NameNode節(jié)點注冊信息
- 成功后筏餐,開始定時執(zhí)行數(shù)據(jù)校驗和同步媳危,將自身的數(shù)據(jù)塊列表信息同步到nameNode的映射表上叠纷。
-
同時開啟心跳窖贤,namenode超時不能收到心跳愕贡,datanode將會被移除集群草雕。一些namenode對datanode的操作,也會伴隨心跳的返回進行傳輸固以。
具體如下圖
DataNode工作機制
數(shù)據(jù)完整性檢查
- Datanode讀取數(shù)據(jù)時會利用md5校驗和比對
- 當校驗和錯誤墩虹,說明block損壞,將從其他datanode上讀取數(shù)據(jù)
- datanode在創(chuàng)建文件后憨琳,會周期性對文件校驗和
心跳超時設(shè)置
<property>
<!--超時時間-->
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>300000</value>
</property>
<property>
<!--心跳周期-->
<name> dfs.heartbeat.interval </name>
<value>3</value>
</property>
多目錄配置
DataNode和NameNode一樣诫钓,支持本地多目錄。即篙螟,將數(shù)據(jù)存放到不同的目錄中菌湃。
在hdfs-site.xml中配置
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2</value>
</property>