DataNode(面试开发重点3)

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

stopping datanode

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

start-balancer.sh 

猜你喜欢

转载自blog.csdn.net/u013621398/article/details/115207966