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 节点添加到排除列表中,等待确认,然后同时关闭它们。

相关推荐
山沐与山36 分钟前
【数据库】PostgreSQL架构与索引深度剖析
数据库·postgresql·架构
不穿格子的程序员1 小时前
Redis篇6——Redis深度剖析:从单机到集群,Redis高可用进化史
数据库·redis·集群·主从·高可用·哨兵
阿坤带你走近大数据1 小时前
什么是元数据管理?(附具体实施方案供参考)
数据库·金融
俊男无期1 小时前
超效率工作法
java·前端·数据库
2301_823438021 小时前
【无标题】解析《采用非对称自玩实现强健多机器人群集的深度强化学习方法》
数据库·人工智能·算法
中国胖子风清扬1 小时前
SpringAI和 Langchain4j等 AI 框架之间的差异和开发经验
java·数据库·人工智能·spring boot·spring cloud·ai·langchain
Elastic 中国社区官方博客2 小时前
Elasticsearch:你是说,用于混合搜索(hybrid search)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
czlczl200209252 小时前
高并发下的 Token 存储策略: Redis 与 MySQL 的一致性
数据库·redis·mysql
虹科网络安全2 小时前
艾体宝产品 | 基准测试:ArangoDB性能碾压Neo4j,速度最高提升8倍!
数据库·neo4j
哈哈老师啊2 小时前
Springboot校园订餐管理系统k2pr7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端