1.随着公司业务量的变化,需要对原有的数据节点新增服役节点或者退役节点,以达到资源合理利用

2.环境准备

[1].克隆一台节点

[2].修改 ip 地址和主机名称

[3].增加新增节点的同步 ssh(namenode和resourcemanager都需要要配置到新节点的ssh)

[4].如果克隆的机器有存量数据,先删除留存的文件/opt/module/hadoop-2.7.2/data

3.服役新节点步骤

[1].在 namenode 的/opt/module/hadoop-2.7.2/etc/hadoop 目录下创建dfs.hosts文件,添加如下主机名称(包含新服役的节点)

node202

node203

node204

node205

[2].在 namenode 的 hdfs-site.xml 配置文件中增加 dfs.hosts 属性

<property>

<name>dfs.hosts</name>

<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>

</property>

[3].刷新 namenode

hdfs dfsadmin -refreshNodes

服役新数据节点与退役旧数据节点

[4].在namenode刷新resourcemanager 节点

yarn rmadmin -refreshNodes

服役新数据节点与退役旧数据节点

[5].在 namenode 的 slaves 文件中增加新主机名称,同步所有变更到其他节点

node205

[6].在新节点上单的启动datanode和nodemanager

sbin/hadoop-daemon.sh start datanode

sbin/yarn-daemon.sh start nodemanager

[7].用jps或者在 web 浏览器上检查

服役新数据节点与退役旧数据节点

服役新数据节点与退役旧数据节点

[8].如果数据不均衡,可以在namenode用命令实现集群的再平衡

sbin/start-balancer.sh

4.退役旧节点步骤

[1].在 namenode 的/opt/module/hadoop-2.7.2/etc/hadoop 目录下创建dfs.hosts.exclude 文件,添加如下主机名称(要退役的节点)

node205

[2].在 namenode 的 hdfs-site.xml 配置文件中增加 dfs.hosts.exclude 属性

<property>

<name>dfs.hosts.exclude</name>

<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>

</property>

[3].namenode上刷新 namenode、刷新 resourcemanager

hdfs dfsadmin -refreshNodes

yarn rmadmin -refreshNodes

服役新数据节点与退役旧数据节点

[4].检查 web 浏览器,退役节点的状态为 decommission in progress(退役中),说明数据节点正在复制块到其他节点。

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

服役新数据节点与退役旧数据节点

[6].从 include 文件中删除退役节点

[7].刷新 namenode,刷新 resourcemanager

hdfs dfsadmin -refreshNodes

yarn rmadmin -refreshNodes

[8].从 namenode 的 slave 文件中删除退役节点 node205,同步更改配置

[9].如果数据不均衡,可以用命令实现集群的再平衡

sbin/start-balancer.sh

相关文章:

  • 2021-07-17
  • 2021-06-03
  • 2021-11-28
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2021-12-09
  • 2022-12-23
猜你喜欢
  • 2021-06-01
  • 2022-01-20
  • 2021-11-12
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2022-12-23
相关资源
相似解决方案