zookeeper扩容-2

本文详细介绍了如何在保持服务稳定性的前提下,对Zookeeper集群进行扩容和缩容的操作步骤。首先通过新增两台服务器并修改配置文件实现扩容,确保新节点成功加入集群。接着逐步重启原有服务器并调整配置,使新服务器成为Leader。缩容时,逐步下线旧服务器,上线新服务器,最终形成三台新服务器的稳定集群。整个过程中需注意保持至少一台服务器在线,确保ZXID一致,并及时更新依赖ZK的服务配置。

Zookeeper的扩容和缩容

目的是用三台新的ZK服务器替换老的三台,所以采取先扩容再缩容的方式来进行。

扩容

环境描述

原有ZK服务器计算机名称IP地址角色myid
Srv01172.16.100.10Follower1
Srv02172.16.100.20Follower2
Srv03172.16.100.30Leader3

新加入ZK服务器计算机名称IP地址角色myid
Srv04172.16.100.40101
Srv05172.16.100.50102
Srv06172.16.100.60103

以上三台的配置文件

步骤一:新ZK加入集群

老ZK服务器的配置文件暂时不变,然后修改2台新ZK服务器的配置文件,如下图

修改好后启动这2台新的ZK服务器。

我们明明准备了3台服务器,为什么要先启动2台呢,因为目前有3台,而且老的配置文件不变,如果你启动3台新的,在这种情况下新的机器无法加入集群,所以要先弄2台。你看上图新机器的配置中最后那台是注释的。2台启动完成查看一下集群,之前100.30是Leader,现在我们依然查看30这台机器,发现它有4个follower,说明新加入的已经生效了。

步骤二:重启原有的ZK服务器

修改原有3台ZK服务器的配置文件,然后重启

三台重启完成后新加入的100.50就变成了Leader因为它的myid最大

到此扩容完毕原来的3台规模的集群变成了5台,下面我就需要进行缩容。

缩容

步骤一:下线一台老的,上线一台新的

此时5台规模的集群允许失败2台,所以我们下线一台。目的是让3台新的都加入到集群中。

首先:关闭Srv01服务器的ZK服务。

其次:修改Srv02、Srv03、Srv04的配置文件如下,然后重启

再次:上线Srv05,然后重启

这时候Leader依然是Srv05服务器

之后一次修改Srv02、Srv03、Srv04服务器的配置文件,然后再次重启,此时Srv05还是Leader。

完成之后修改Srv05然后进行重启。这时候所有的ZK服务器配置文件都一样,而且随着Srv05重启完成后将产生新的Leader,Srv06

步骤二:下线Srv02和Srv03

停止Srv02和Srv03,然修改Srv04和Srv05的配置文件,然后重启

此时Follower变成2个

最后修改Srv06的配置文件然后进行重启,重启完成后Srv05就变成了Leader。

到此缩容完毕。

注意事项

  • 迁移过程中始终要保证有ZK服务器可用
  • 重启原有ZK服务器的时候要注意查看新ZK服务器中的ZXID是否和原有的一致
  • 重启时要先重启myid小的
  • 如果有其他服务使用ZK,请在停止老集群前修改哪些服务的连接地址以便他们可以连接到新的ZK上
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值