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

缩容完成

客户端影响

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

相关推荐
鬼手点金11 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
贵州诚鑫致达科技有限公司11 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
遇印记12 小时前
传输层,网络层
运维·服务器·网络·windows·学习
Elastic 中国社区官方博客13 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
北京中科新远科技14 小时前
高速光模块上线验收实战:DOM、FEC、BER与端口计数器怎么一起看
服务器·网络·php
澜山奕秋15 小时前
RHCSA
linux·运维·服务器
pride.li15 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
Web极客码15 小时前
告别流式截断:我用客户端中间件解决长文本 API 跨国 SSE 断连与数据自愈
linux·agent 图
cnnews16 小时前
Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化
linux·运维·ubuntu
.Bryce.16 小时前
在智能体中使用A2A工具:让大模型自己决定“该找谁帮忙“
android·java·服务器·redis·后端·agent·a2a