退役旧数据节点
目标:掌握HDFS在集群中删除掉无效节点的步骤
第一步:创建dfs.hosts.exclude配置文件(也就是集群生效的黑名单)
在namenod的cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts.exclude文件,并添加需要退役的主机名称
node01执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
touch dfs.hosts.exclude
vim dfs.hosts.exclude
文件中添加(失效节点名称或退役):
node04
第二步:编辑namenode所在机器的hdfs-site.xml(使黑名单失效)
编辑namenode所在的机器的hdfs-site.xml配置文件,添加以下配置
node01执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim hdfs-site.xml
第三步:刷新namenode,刷新resourceManager
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
第四步:查看web浏览界面
http://node01:50070/dfshealth.html#tab-datanode
第五步:节点退役完成,停止该节点进程
等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。·
node01执行以下命令,停止该节点进程
cd /export/servers/hadoop-2.6.0-cdh5.14.0
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-deamon.sh stop nodemanager
第六步:从include文件中删除退役节点
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim dfs.hosts
从白名单中删除失效节点
留下可用的节点
namenode所在节点也就是node01执行以下命令刷新namenode和resourceManager
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
第七步:从namenode的slave文件中删除退役节点
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim slaves
第八步:如果数据负载不均衡,执行以下命令进行均衡负载
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-balancer.sh