hadoop hdfs和yarn集群安全动态删除节点

hadoop | 2019-09-13 10:02:39

hadoop集群肯定不能霸蛮直接停止某节点进程来删除某个子节点,这样会导致block丢失,数据损坏,集群失败。当然管理节点包括hdfs和yarn节点的管理。

hadoop集群动态安全删除节点其实很快很方便:


1.在master节点修改配置hdfs-site.xml文件

1.1卸载hdfs节点添加内容

<property>
  <!--dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个-->
  <name>dfs.hosts.exclude</name>
  <value>/opt/hadoop/hadoop-2.7.0/etc/hadoop/excludes</value>
</property>

1.2如果需要卸载yarn节点继续添加

<property>
  <!--dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个-->
  <name>yarn.resourcemanager.nodes.exclude-path</name>
  <value>/opt/hadoop/hadoop-2.7.7/etc/hadoop/excludes</value>
</property>


2.在/opt/hadoop/hadoop-2.7.0/etc/hadoop添加文件excludes

并在文件中填写要删除的节点的ip,一行一个,yarn和hdfs可以用同一个

cd /opt/hadoop/hadoop-2.7.0/etc/hadoop

touch excludes

vi excludes

slave2


3. 在master上刷新节点配置情况:

3.1刷新hdfs节点

hadoop dfsadmin -refreshNodes


此时在50070端口Web UI上就可以看到该节点变为Decommission In Progress状态,过一会就变为Decommissioned

如果数据很大就要等很长时间了

也可以通过:hadoop dfsadmin -report 命令查看

3.2刷新yarn节点

yarn rmadmin -refreshNodes

这个立马就能在master 8088端口看到 Active Nodes Decommissioned Nodes的数量。


4. 在slave2上关闭datanode进程(非必须):

hadoop-daemon.sh stop datanode

或者直接kill datanode 或 nodemanage的进程都无所谓。





登录后即可回复 登录 | 注册
    
关注编程学问公众号