思考:若是電腦磁盤裏面存儲的數據是控制高鐵信號燈的紅燈信號(1)和綠燈信號(0),可是存儲該數據的磁盤壞了,一直顯示是綠燈,是否很危險?node
同理,DataNode節點上的數據損壞了,卻沒有發現,是否也很危險,那麼如何解決呢?windows
DataNode進程死亡或者網絡故障形成DataNode沒法與NameNode通訊時的TimeOut參數設置瀏覽器
# dfs.namenode.heartbeat.recheck-interval默認爲300000ms,dfs.heartbeat.interval默認爲5s
TimeOut = 2 * dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval複製代碼
需求:隨着公司業務的增加或者重大活動(例如雙11),數據量愈來愈大,原有的數據節點的容量已經不能知足存儲數據的需求,須要在原有集羣基礎上動態添加新的數據節點。安全
退役舊數據節點有兩種方式:添加白名單和黑名單退役服務器
hadoop安裝目錄/etc/hadoop
目錄下建立dfs.hosts文件 <property>
<name>dfs.hosts</name>
# dfs.hosts文件所在路徑
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>
</property>複製代碼
[kocdaniel@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful複製代碼
[kocdaniel@hadoop102 hadoop-2.7.2]$ yarn rmadmin -refreshNodes複製代碼
[kocdaniel@hadoop102 sbin]$ ./start-balancer.sh複製代碼
hadoop安裝目錄/etc/hadoop
目錄下建立dfs.hosts.exclude文件 <property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>
</property>
複製代碼
[kocdaniel@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
[kocdaniel@hadoop102 hadoop-2.7.2]$ yarn rmadmin -refreshNodes複製代碼