码迷,mamicode.com
首页 > 其他好文 > 详细

HDFS集群中DataNode的上线与下线

时间:2019-09-08 19:52:36      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:两台   环境   为我   复制   mamicode   ssi   top   touch   hdf   

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

背景

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

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

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

我们现在启动master、slave1和slave2三台虚拟机,然后启动HDFS集群,我们在HDFS的Web UI上可以看到有两个DataNode: 

技术图片

 

 

 

DataNode上线

在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文件中新增:
master

3.然后在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信息,如下图:

技术图片

 

 可以看出,DataNode现在是3个了,master上的DataNode已经启动起来,并且加入集群中

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信息,如下图:

技术图片

 

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

技术图片

 

4. 在master上停止DataNode:

hadoop-daemon.sh stop datanode

 5.刷新DataNode: 

hdfs dfsadmin -refreshNodes

  

 

HDFS集群中DataNode的上线与下线

标签:两台   环境   为我   复制   mamicode   ssi   top   touch   hdf   

原文地址:https://www.cnblogs.com/tesla-turing/p/11487957.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!