hdfs集群节点的服役和退役(上线 下线)

  • Post author:
  • Post category:其他


问题描述

我们在维护hadoop集群的时候,需要动态增加和删除datanode或者yarn管理节点,而不是停掉整个集群。

首先,hadoop配置文件目录下的hdfs-site.xml中维护这集群“白名单”和“黑名单”两个文件,如果没有的话需要在配置文件中添加这两个属性。

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

服役(添加)新的节点

当前集群状态:


我们现在开始准备动态新增一个datanode节点:

1. 在dfs.include文件新增“新节点”名称,该文件在nn的本地目录。



最后一行是我们新添加的datanode节点的主机,注意在“/etc/hosts”中新增es05节点的ip地址

2. namenode上刷新节点

//在namenode上刷新节点
hdfs dfsadmin -refreshNodes

3.etc/slaves文件中添加新增的节点“es05”

4.再通过webUI查看datanode的信息如下:


3.在新节点上启动datanode进程

hadoop-daemon.sh start datanode

退役(删除)datanode节点

1.添加退役节点的ip到黑名单,不要更新白名单.



hadoop/etc/dfs.hosts.exclude

es05

2. 刷新namenode节点

hdfs dfsadmin -refreshNodes

3.查看webui,节点状态在decommisstion in progress


稍后 es05 datanode节点变成 decommissiioned状态,数据转移工作已经完成。


4.在es05主机上停止datanode进程

 hadoop-daemon.sh stop datanode

5.刷新namenode节点,查看现在所有datanode节点

hdfs dfsadmin -refreshNodes




版权声明:本文为fantasticqiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。