hadoop datanode如何安全的下線,不影響線上數據,在這裏記錄一下備忘。
前提
在namenode機器的hdfs-site.xml中必須包含以下配置,在standby namode同樣加上:
<property>
<name>dfs.hosts.exclude</name>
<value>${hadoop_home}/etc/hadoop/dfs_exclude</value>
</property>
如果沒有可以手動添加,不需要重啓hdfs
加入slave文件中有6臺機器,要下線其中的3臺
slaves 如下
dn1
dn2
dn3
dn4
dn5
dn6
配置exclude下線列表
在兩臺namenode做以下操作
touch dfs_exclude
vim dfs_exclude
加入以下內容
dn4
dn5
dn6
執行
hadoop dfsadmin -refreshNodes
會在namenode:50070的頁面上看到Decomissioning頁面會出現你配置的機器,開始拷貝block到其他機器,執行完成後狀態會變成Decommissioned。
關閉datanode
./hadoop-daemon.sh stop datanode
再次修改slaves文件爲
dn1
dn2
dn3
重新執行 hadoop dfsadmin -refreshNodes 即可。