Hadoop退役旧的数据节点(仅供参考)

当然有新增数据节点就有退役数据节点,在公司业务不是很繁忙,或是过了节假期间不需要那么多服务器,同时也是为了开源节流,需要将原有新增的一些数据节点去掉,就需要将老节点退役

退役旧节点步骤如下:

1)在namenode/opt/module/hadoop-2.7.2/etc/hadoop目录dfs.hosts.exclude文件

[zhang@hadoop102 hadoop]$ pwd

/opt/module/hadoop-2.7.2/etc/hadoop

[zhang@hadoop102 hadoop]$ touch dfs.hosts.exclude

[zhang@hadoop102 hadoop]$ vi dfs.hosts.exclude

添加如下主机名称(要退役的节点)

hadoop105

2)在namenodehdfs-site.xml配置文件中增加dfs.hosts.exclude属性

<property>

<name>dfs.hosts.exclude</name>

      <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>

</property>

3刷新namenode刷新resourcemanager

[zhang@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes

Refresh nodes successful

[zhang@hadoop102 hadoop-2.7.2]$ yarn rmadmin -refreshNodes

17/06/24 14:55:56 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.1.103:8033

4)检查web浏览器,退役节点的状态为decommission in progress(退役),说明数据节点正在复制块到其他节点。

 

5)等待退役节点状态decommissioned所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是3服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。·

 

[zhang@hadoop105 hadoop-2.7.2]$ sbin/hadoop-daemon.sh stop datanode

stopping datanode

[zhang@hadoop105 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager

stopping nodemanager

6)从include文件中删除退役节点,再运行刷新节点的命令

1)从namenodedfs.hosts文件中删除退役节点hadoop105

hadoop102

hadoop103

hadoop104

2刷新namenode刷新resourcemanager

[zhang@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes

Refresh nodes successful

[zhang@hadoop102 hadoop-2.7.2]$ yarn rmadmin -refreshNodes

17/06/24 14:55:56 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.1.103:8033

7namenodeslave文件中删除退役节点hadoop105

hadoop102

hadoop103

hadoop104

8)如果数据不均衡,可以用命令实现集群的再平衡

[zhang@hadoop102 hadoop-2.7.2]$ sbin/start-balancer.sh

starting balancer, logging to /opt/module/hadoop-2.7.2/logs/hadoop-atguigu-balancer-hadoop102.out

Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved

上述步骤仅供参考,如有问题还望指教。

猜你喜欢

转载自blog.csdn.net/u013982921/article/details/79796097