【Hadoop】Hadoop集群动态服役新节点、退役节点

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

前提:我们现有集群node01、node02、node03,现在动态添加一个node04 ,开搞!!

环境准备:
1、先克隆一台和集群中一样的机器
2、修改机器ip和主机名称
3、删除原来的data文件和log日志的残存的文件

服役新节点的具体步骤:

1、在NameNode的安装目录中的etc/hadoop文件夹下创建dfs.hosts文件,添加DataNode的主机名称(包括新添加的节点)
vim dfs.hosts

node01
node02
node03
node04

2、在NameNodehdfs-site.xml配置文件中添加dfs.hosts属性

<property>
        <name>dfs.hosts</name>
        <value>/opt/modules/hadoop/etc/hadoop/dfs.hosts<alue>
</property>

3、刷新NameNode

hdfs dfsadmin -refreshNode
提示:Refresh nodes successful

4、更新ResourceManager节点

yarn rmadmin -refreshNode

5、在NameNodeslaves文件中添加新主机的名称
注意:不需要分发文件
vim slaves

node04

6、单独命令启动新节点和节点管理器

hadoop-daemon.sh start datanode
yarn-deamon.sh start nodemanager

7、在web上查看是否启动

node01:50070

8、如果数据不均衡的话,可以用命令实现集群的再平衡

start-dalancer.sh

退役数据节点步骤

1、在NameNode的安装目录的etc/hadoop目录下面创建dfs.hosts.exclude文件,添加主机名(要退役的节点
vim dfs.hosts.exclude

node03
node04

2、在NameNodehdfs-site.xml配置文件中增加dfs.hosts.exclude属性

<property>
        <name>dfs.hosts.exclude</name>
        <value>/opt/modules/hadoop/etc/hadoop/dfs.hosts.exclude<alue>
</property>

3、刷新NameNode、刷新ResourceManager

hdfs dfsadmin -refreshNodes
提示:Refresh nodes successful
yarn rmadmin -refreshNodes

4、检查web,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块到其他节点

5、等待退役节点状态为:decommissioned (所有块已经复制成功),停止该节点及节点资源管理器
注意:如果副本数是3.服役的节点小于等于3.是不能退役成功的,需要修改副本数之后才能退役

hadoop-daemon.sh stop datanode
yarn-daemon.sh stop nodemanager

6、从include文件中删除退役节点,在运行刷新节点的命令

  • ①、从dfs.hosts文件中删除退役的节点node03、node04
  • ②、刷新NameNode,刷新ResourceManager
hdfs dfsadmin -refreshNodes
提示:Refresh nodes successful
yarn rmadmin -refreshNodes

7、从NameNodeslaves文件种删除退役节点(node03、node04

8、若是数据不均衡刷新

start-balancer.sh

发布了116 篇原创文章 · 获赞 432 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/qq_43733123/article/details/105591048