当前位置:网站首页>集群中增加数据节点与退役数据节点
集群中增加数据节点与退役数据节点
2022-07-31 12:21:00 【巴涅波赫夫】
1 服役新数据节点
1.1 需求
随着业务的增长,数据量会越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。
1.2 环境准备
克隆一台新的虚拟机主机,将克隆来的原数据(./hadoop-3.1.3/data和logs)删除,再source一下配置文件:
[[email protected] hadoop-3.1.3]$ source /etc/profile
1.2 服役新节点的具体步骤
- 直接启动DataNode,即可关联到集群(已经增加上新节点了)
[[email protected] hadoop-3.1.3]$ hdfs --daemon start datanode
[[email protected] hadoop-3.1.3]$ yarn --daemon start nodemanager
- 在企业开发中,如果经常在hadoop102和hadoop104上提交任务,且副本数为2,由于数据本地性原则,就会导致hadoop102和hadoop104数据过多,hadoop103存储的数据量小。开启数据均衡:
[[email protected] hadoop-3.1.3]$ sbin/start-balancer.sh -threshold 10
对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。
停止数据均衡命令:
[[email protected] hadoop-3.1.3]$ sbin/stop-balancer.sh
2 退役旧数据节点
2.1 添加白名单和黑名单
白名单和黑名单是 hadoop 管理集群主机的一种机制。
添加到白名单的主机节点,都允许访问 NameNode,不在白名单的主机节点,都会被退出。添加到黑名单的主机节点,不允许访问 NameNode,会在数据迁移后退出。
实际情况下,白名单用于确定允许访问 NameNode 的 DataNode 节点,内容配置一般与workers 文件内容一致。 黑名单用于在集群运行过程中退役 DataNode 节点。
配置白名单和黑名单的具体步骤如下:
- 在 NameNode 节点的/opt/module/hadoop-3.1.3/etc/hadoop 目录下分别创建 whitelist 和
blacklist 文件
[[email protected] hadoop]$ pwd
/opt/module/hadoop-3.1.3/etc/hadoop
[[email protected] hadoop]$ touch whitelist
[[email protected] hadoop]$ touch blacklist
在 whitelist 中添加如下主机名称,假如集群正常工作的节点为 102 103 104 105
hadoop102
hadoop103
hadoop104
hadoop105
- 在 hdfs-site.xml 配置文件中增加 dfs.hosts 和 dfs.hosts.exclude 配置参数
<!-- 白名单 -->
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-3.1.3/etc/hadoop/whitelist</value>
</property>
<!-- 黑名单 -->
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>
- 分发配置文件 whitelist,blacklist,hdfs-site.xml
- 重新启动集群
- 在 web 浏览器上查看目前正常工作的 DN 节点
2.2 黑名单退役
- 编辑/opt/module/hadoop-3.1.3/etc/hadoop 目录下的 blacklist 文件,添加要退役的节点所在的主机名称(以hadoop105为例)
- 分发blacklist到所有节点
- 刷新NameNode、刷新ResourceManager
[[email protected] hadoop-3.1.3]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
[[email protected] hadoop-3.1.3]$ yarn rmadmin -refreshNodes
17/06/24 14:55:56 INFO client.RMProxy: Connecting to ResourceManager at
hadoop103/192.168.1.103:8033
- 检查 Web 浏览器,退役节点的状态为 decommission in progress(退役中),说明数据节点正在复制块到其他节点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JRBWekBO-1658999436556)(…/DataNode工作机制/imgs/黑名单退役第四步.png)]
- 等待退役节点状态为 decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是 3,服役的节点小于等于 3,是不能退役成功的,需要修改副本数后才能退役
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ft9ampGP-1658999436557)(…/DataNode工作机制/imgs/黑名单退役第五步.png)]
[[email protected] hadoop-3.1.3]$ hdfs --daemon stop datanode
stopping datanode
[[email protected] hadoop-3.1.3]$ yarn --daemon stop nodemanager
stopping nodemanager
- 如果数据不均衡,可以用命令实现集群的再平衡
注意:不允许白名单和黑名单中同时出现同一个主机名称,既然使用了黑名单 blacklist成功退役了 hadoop105 节点,因此要将白名单 whitelist 里面的 hadoop105 去掉。
边栏推荐
猜你喜欢

Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案

Full GC (Ergonomics)排查分析

一文吃透哈希表

MySQL日志中“binlog”的三种格式玩起来真爽

SAP 电商云 Spartacus UI 和 Accelerator UI 里的 ASM 模块

生信周刊第38期

线性表的基本概念

Exploring Plain Vision Transformer Backbones for Object Detection Paper Reading Notes

JVS函数公式使用场景介绍

After Effects 教程,如何在 After Effects 中修复曝光不足的镜头?
随机推荐
The 2nd activity of the TOGAF10 Standard Reading Club continues wonderfully, and the highlights will be reviewed!
字符函数和字符串函数
深度学习基本概念
JVS低代码能力简介及功能清单
Double non-one into bytes!!Pure dry goods sharing
Addition logic for SAP Commerce Cloud Product Review
立一个flag
Build a Valentine's Day confession website (super detailed process, package teaching package)
第十二章 使用中的 OpenAPI 属性
想吃菌子,当然是自己上山找了
R语言:文本(字符串)处理与正则表达式
DCM middleware family welcomes a new member
Wearing detection and action recognition of protective gear based on pose estimation
How MySQL's allowMultiQueries flag relates to JDBC and jOOQ
Fully Dynamically Constrained Robot Efficient Time-Optimal Trajectory Planning
Qt鼠标穿透
vb.net 画曲线
函数递归1.0
CameraToolUnity中两种摄像机的两种观察控制方式
【Shader】Shader官方示例[通俗易懂]