HDFS集群中DataNode的上线与下线

匿名 (未验证) 提交于 2019-12-02 23:59:01

在HDFS集群的运维过程中,肯定会遇到DataNode的新增和删除,即上线与下线。这篇文章就详细讲解下DataNode的上线和下线的过程。

在我们的微职位视频课程中,我们已经安装了3个节点的HDFS集群,master机器上安装了NameNode和SecondaryNameNode角色,slave1和slave2两台机器上分别都安装了DataNode角色。

我们现在来给这个HDFS集群新增一个DataNode,这个DataNode是安装在master机器上

我们需要说明的是:在实际环境中,NameNode和DataNode最好是不在一台机器上的,我们这里都放在master上,是因为我们的虚拟机资源有限。

在NameNode所在的机器(master)上的配置文件hdfs-site.xml中增加"白名单"配置:

<property>     <!-- 白名单信息-->     <name>dfs.hosts</name>     <value>/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.include</value> </property> 

  在master机器上执行下面的命令:

## 创建白名单文件 touch /home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.include 

  在/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.include文件中增加如下内容:

slave1 slave2 master其中,上面的master是新增的DataNode所在的机器在/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/slaves文件中新增:
master3.然后在NameNode所在的机器(master)上执行如下的命令:
hdfs dfsadmin -refreshNodes 

  然后,我们在HDFS的Web UI上查看DataNode的信息:

可以看出,多了一个状态为Dead的DataNode

Dead的DataNode

4.在master机器上启动DataNode:

hadoop-daemon.sh start datanode 

  然后我们刷新HDFS的Web UI的DataNode信息,如下图:

我们现在下线master上的DataNode,步骤如下:

  1. 在NameNode所在的机器(master)上的配置文件hdfs-site.xml中增加"黑名单"配置:
<property>     <!-- 黑名单信息-->     <name>dfs.hosts.exclude</name>     <value>/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.exclude</value> </property> 

  在master机器上执行下面的命令:

## 创建黑名单文件 touch /home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.exclude 

  在/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.exclude文件中增加如下内容:

master 

  其中,上面的master是需要下线的DataNode所在的机器

/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/slaves文件中删除master

然后在NameNode所在的机器(master)上执行如下的命令:

hdfs dfsadmin -refreshNodes 

  然后我们刷新HDFS的Web UI的DataNode信息,如下图:

Decommission In Progress。这个时候,在master上的DataNode的数据都在复制转移到其他的DataNode上,当数据转移完后,我们再刷新HDFS Web UI后,可以看到DataNode的状态变为Decommissioned

4. 在master上停止DataNode:

hadoop-daemon.sh stop datanode 

 5.刷新DataNode: 

hdfs dfsadmin -refreshNodes 

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!