说明:最近需要把hadoop集群中的几台datanode拿出来另作它用,记录一下下线操作
datanode下线后可以直接关掉nodemanager进程,resourcemanager会将任务分配给其他节点
操作:
1.在hdfs-site.xml中增加以下参数:
<property>
<name>dfs.hosts.exclude</name>
<value>/hadoop/hadoop-2.6.0-cdh5.4.1/etc/hadoop/excludes</value>
<property>
2.在namenode节点对应路径下创建相关文件,并写入需要下线节点的IP地址
echo "192.168.127.3" >> /hadoop/hadoop-2.6.0-cdh5.4.1/etc/hadoop/excludes
3.在namenode节点执行命令
hdfs dfsadmin -refreshNodes
4.查看下线情况
hdfs dfsadmin -report
Decomissioning标记的即为正在下线的datanode,hadoop集群会将下线的datanode数据块复制到其他节点
复制完成之后会变成Decommission Status : Decommissioned,此时可以下线此datanode
Decomission效率:5台服务器,每台大概7个T数据,用时大概16hour
平均5*7/16,约2.2T/hour
5.下线完成后,修改slave配置文件,去掉下线的机器