Zookeeper热缩容解析

Zookeeper热缩容解析

以5个节点规模的集群为例,进行节点的缩容。不停服,将集群从ZK1,ZK2,ZK3,ZK4,ZK5缩容成ZK1,ZK2,ZK3。

背景

降本,将ZK集群的规模从5节点变成3节点。

目标

核心步骤

  1. 停止ZK4,ZK5

    此时leader,必然在ZK1~ZK3中产生。若ZK1~ZK3中任何一台故障,都需要立即恢复,不然集群不可用。 ZK5直接下线。

  2. 重启ZK4

    ZK4,作为选主的辅助节点。为了保障缩容期间在重启其他节点式,有足够的参与选主的节点。

    等待ZK1~ZK4正常后,再后续操作。

  3. 修改ZK1的配置后重启

    此时,若ZK1不故障,则leader在ZK1~ZK3中产生,若ZK1故障,则Leader在ZK2~ZK4中产生。等待ZK1~ZK4正常后,再后续操作。

  4. 修改ZK2的配置后重启

    此时,若发生故障,则Leader在ZK1~ZK3中产生。等待ZK1~ZK4正常后,再后续操作。

  5. 修改ZK3的配置后重启

    此时,若发生故障,则Leader在ZK1~ZK3中产生。等待ZK1~ZK4正常后,再后续操作。必然主动发生一次切主

  6. 停止ZK4

缩容完成

客户端影响

期间客户可能会感知异常,但是正常都会主动重试重连成功。

相关推荐
七牛云行业应用2 小时前
Ollama 本地部署 DeepSeek 完全指南:macOS / Windows / Linux 三端安装 + GPU 配置 + API 调用
linux·windows·macos
ZJH__GO2 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
三言老师3 小时前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
味悲3 小时前
Linux提权
linux·服务器·安全
无足鸟ICT4 小时前
【RHCA+】替换变量
linux
尘似鹤4 小时前
rk3506的uboot源码分析(三)
linux·uboot
闲猫4 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
2023自学中4 小时前
imx6ull 开发板 贪吃蛇, C++11 SDL2 无硬件GPU优化版
linux·c++
你驴我5 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python