5 退役旧数据节点
让DateNode退役有两种方式:
一,白名单
二,黑名单
可以通过白名单来添加节点,通过黑名单来删除节点
不允许白名单和黑名单中同时出现同一个主机名称
添加白名单
添加到白名单的主机节点,都允许访问NameNode,不在白名单的主机节点,都会被退出。
配置白名单的具体步骤如下:
(1)在NameNode的/opt/module/hadoop-2.7.2/etc/hadoop目录下创建dfs.hosts文件
cd /opt/module/hadoop-2.7.2/etc/hadoop
vim ./dfs.hosts
添加如下主机名称(不添加hadoop105)
hadoop102
hadoop103
hadoop104
(2)在NameNode的hdfs-site.xml配置文件中增加dfs.hosts属性
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>
</property>
(3)刷新NameNode
hdfs dfsadmin -refreshNodes
Refresh nodes successful
(4)在web浏览器上查看
如果数据不均衡,可以用命令实现集群的再平衡
在hadoop102上
start-balancer.sh
黑名单退役
在黑名单上面的主机都会被强制退出。
1.在NameNode的/opt/module/hadoop-2.7.2/etc/hadoop目录下创建dfs.hosts.exclude文件
cd /opt/module/hadoop-2.7.2/etc/hadoop
vim ./dfs.hosts.exclude
添加如下主机名称(要退役的节点)
hadoop105
2.在NameNode的hdfs-site.xml配置文件中增加dfs.hosts.exclude属性
vim ./hdfs-site.xml
添加以下内容
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>
</property>
3.刷新NameNode
hdfs dfsadmin -refreshNodes
Refresh nodes successful
4.检查Web浏览器,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块到其他节点
美[ˌdiːkəˈmɪʃn] 正式停止使用(武器、核电站等)
5.等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。
注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役
hadoop-daemon.sh stop datanode
start-balancer.sh