退役旧数据节点
目标:掌握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 <property> <name>dfs.hosts.exclude</name> <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts.exclude</value> </property>
第三步:刷新namenode,刷新resourceManager
在namenode所在的机器执行以下命令,刷新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-daemon.sh stop nodemanager
第六步:从include文件中删除退役节点
namenode所在节点也就是node01执行以下命令删除退役节点
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop vim dfs.ho node01 node02 node03
namenode所在节点也就是node01执行以下命令刷新namenode和resourceManager
hdfs dfsadmin -refreshNodes yarn rmadmin -refreshNodes
第七步:从namenode的slave文件中删除退役节点
namenode所在机器也就是node01执行以下命令从slaves文件中删除退役节点
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop vim slaves node01 node02 node03
第八步:如果数据负载不均衡,执行以下命令进行均衡负载
node01执行以下命令进行均衡负载
cd /export/servers/hadoop-2.6.0-cdh5.14.0/ sbin/start-balancer.sh