Hadoop DataNode 节点的动态添加和动态删除

一 , 动态添加 DataNode 节点

1 , 前提是 , 需要新加入的 DataNode 节点已经配置好 SSH 无密登录互通 .

2 ,  复制存在 DataNode 节点 上的 Hadoop运行目录、hdfs目录及tmp目录至 新的DataNode.

3 ,  在新DataNode上启动hadoop
hadoop-daemon.sh start datanode
yarn-daemon.sh start datanode


4 ,  在NameNode上刷新节点
hdfs dfsadmin -refreshNodes
start-balancer.sh

5 ,  为方便下次启动,可以将新DataNode的域名和ip加入 /etc/hosts 中

6 , 查看是否成功 : 这里的IP是NameNode 的IP
  登录 : IP:50070  进行查看 , 如下图所示 :
Hadoop DataNode 节点的动态添加和动态删除



二 , 动态删除 DataNode 节点

1 ,  配置NameNode的hdfs-site.xml,适当减小dfs.replication副本数,增加dfs.hosts.exclude配置

<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop2/etc/hadoop/excludes</value>
</property>

2 ,  在对应路径(/etc/hadoop/)下新建excludes文件,并写入待删除DataNode的ip或域名

3 ,  在NameNode上刷新所有DataNode
    hdfs dfsadmin -refreshNodes
    start-balancer.sh

4 ,  此时,可以在web检测界面(ip:50070)上可以观测到DataNode逐渐变为Dead。

5 , 记过查看如  上方DataNode 节点的动态添加结果查看相同