Easysearch 移除 Master 节点注意事项

Easysearch 采用智能化的动态投票配置管理机制,当集群节点发生增删变更时,系统会自动调整投票集合配置,以确保集群的高容错性。在选举新的 Master 节点或提交集群状态变更时,系统会根据当前集群状态,动态确定参与投票的 Master-eligible 节点集合并进行计数,确保决策过程的高效性和可靠性。

移除 Master-eligible 节点

Easysearch 节点角色中有一个叫 Master 的角色,配置 Master 角色的节点就具有了"投票选举"的资格,这些节点统称为 Master-eligible 节点。

有些时候你可能想移除 Master-eligible 节点,需要注意的是,如果你同时关闭一半或更多的 Master-eligible 节点,那么集群将会变得不可用。必须保证一半以上的 Master-eligible 同时在线,集群才可用。因此,执行此操作的关键点是不要一次性移除太多。建议最好一次移除一个 Master-eligible 节点,给集群足够的时间来自动调整投票配置。

假如一个 Easysearch 集群最开始有 5 个 Master-eligible 节点,一次移除一个节点,操作到最后,集群会剩下两个 Master-eligible 节点。这两个节点都不能被移除,因为一旦关闭其中一个节点,就相当于关闭了二分之一数量的 Master-eligible 节点,集群将变得不可用。

如果此时还要继续移除 Master-eligible 节点,就要先手动调整 Easysearch 的投票配置,将要移除的节点排除在投票集合之外。一旦成功地将节点添加到投票排除列表后,就可以安全的关闭该节点了。

查看投票配置

可以使用下面的命令查看集群的投票配置。

plain 复制代码
GET /_cluster/state?filter_path=metadata.cluster_coordination

从上图可以看到,我们的投票集合里有 3 个节点。但是目前集群只有 2 个节点在线。

因为要保持投票集合为单数,Easysearch 的动态投票配置管理机制并没有把已经离线的 node-3 移出投票集合。

投票排除列表

这时候如果我们要继续移除 node-2,就要手工将 node-2 节点排除在投票集合之外。而且一旦我们这样操作后,Easysearch 的动态投票配置管理机制也会将 node-3 移出投票集合。

plain 复制代码
POST /_cluster/voting_config_exclusions?node_names=node-2

可以看到 node-2 被添加到了排除列表,node-3 也已经被移出了投票集合。

还原投票列表

这时,我们就可以安全的关闭 node-2 节点了。关闭节点后,建议清理下投票排除列表,正常的集群排除列表应该为空,而且这个配置容量是有限的。

plain 复制代码
DELETE /_cluster/voting_config_exclusions?wait_for_removal=false

此外投票配置排除 API 也可以用来一次性移除多个 Master-eligible 节点。将多个 Master-eligible 节点添加到排除列表中会使系统尝试自动重新配置投票集合,从而在保持集群可用性的同时安全地关闭它们。在上述示例中,将 5 个 Master-eligible 节点集群缩减到 1 个,可以将四个 Master-eligible 节点添加到排除列表中,等待确认,然后同时关闭它们。

相关推荐
瑞克-桑切斯3 分钟前
redis
数据库·redis·缓存
freejackman1 小时前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
bksczm1 小时前
InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer
数据库·mysql
花间相见1 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
敲上瘾2 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
bksczm3 小时前
Redis 持久化:RDB 快照与 AOF 日志
数据库·redis·mybatis
.痞老板.4 小时前
mysql初阶--数据库设计
数据库·mysql·oracle
Decay__5 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Thanks_ks5 小时前
SQL 的 GROUP BY 与聚合函数:从会写 SELECT 到会做统计
数据库·sql·mysql·group by·数据统计·聚合函数·having
Decay__14 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构