zookeeper 的升级与迁移
1.准备工作
1.1原理
升级:主要包括两种情况—>
1)、版本升级:zookeeper集群节点数量和拓扑结构不变,只改变zookeeper的版本
2)、容量升级:一般指的是集群增加服务节点,提高负载均衡性能
迁移:一般来说指的是将服务从集群A迁移到集群B,这里也主要包括两种情况---->
1)、部分迁移,比如集群1(A,B,C)迁移到集群2(A,B,D)
2)、整体迁移,比如集群1(A,B,C)迁移到集群2(D,E,F)
不管是升级迁移,也不管是哪种升级,哪种迁移,我们都要尽可能的保证一点:在线的服务尽可能不断开,必须持续提供服务,使用户无感知或者说极小可忽略的停顿,并且最重要的是数据不丢失,这也就是所谓的平滑升级迁移,所以节点的操作顺序就是先Follower节点再Leader节点,Leader节点尽可能的不去操作。
1.2dubbo-admin管理控制台
下载一个dubbo-admin管理控制台,这里主要是用来监控zookeeper服务是否可用,该服务是基于tomcat启动的。
在项目的WEB-INF/dubbo.properties
中需要配置zookeeper的集群信息(推荐进行域名解析),并可看到该控制台的用户名、密码。
修改etc下hosts文件:
192.168.37.101 os1
192.168.37.102 os2
192.168.37.103 so3
以及hostname文件对应的os1
、os2
、os3
通过service network restart
进行重启,使用 telnet os1 2181
可测试域名解析是否成功
#zookeeper集群地址,逗号分隔,129位leader,128,130备份节点
dubbo.registry.address=zookeeper://os1:2181?backup=os2:2181,os3:2181
#root账号密码都是
root dubbo.admin.root.password=root
#guest账号密码都是guest
dubbo.admin.guest.password=guest
启动成功并访问dubbo-admin控制台可看到如下控制台信息:
选择系统管理-系统状态即可进行升级期间的zookeeper服务监控