最近由于业务需求,测试各种组件的高可用性。由于我们的环境在AWS北京部署只。有两个可行的区域(可用区)。
注释:有两个数据中心,相互需要做容灾的需求,和本文测试的情况是相同的。
而管理员需要3个以上的单数节点同时工作,并且,必须保证半数以上的节点存活,还能正常提供服务。
那么,针对只有两个阿兹的情况,不管怎么规划,都有概率遇到存在半数以上的阿兹挂掉,导致整个饲养员不可用的情况。
2.3详细饲养员安装步骤,请参考:
2.4 zoo.cfg的配置 #猫动物园。cfg
mkdir - p/数据/管理员/数据 mkdir - p/数据/管理员/日志
2.6根据节点号码,修改文件
回声1比;//管理员/数据/myid
3。一共准备了5台EC2进行测试,并且都已经安装好管理员
但是只启动三台,另两个机器作为备用
下图可以看的到,已经有三台启动动物园管理员,
注意,在动物园管理员启动的过程中,必须保证三台及以上,饲养员集群才能正常工作
4。接下来,我开始逐个机器关机,看饲养员的状态
当前领导人在zk3上,我们先关闭zk1,再关闭zk3,看领导会不会飘到zk2上
4.1在zk1上执行杀,杀掉进程
[root@ip - 172 - 31 - 9 - 73 ~ #译本 12438年译本 7545年QuorumPeerMain [root@ip - 172 - 31 - 9 - 73 ~ # zkServer。sh状态 动物园管理员JMX默认启用 使用配置:/root/zookeeper-3.4.14/bin/. ./conf/zoo.cfg 模式:追随者 [root@ip - 172 - 31 - 9 - 73 ~ # kill - 9 7545
4.2在zk5上通过zkCli链接zk3,并可以查询数据。
在zk1上杀死掉进程之后,理论上,还有zk2和zk3存活,但是zkCli的连接显示已经报错。
[root@ip - 172 - 31 - 16 - 33本)#。/zkCli。sh - server 172.31.26.111:2181 连接到172.31.26.111:2181 …… [zk: 172.31.26.111:2181(连接)0]ls/(zk-permanent、管理员、测试) [zk: 172.31.26.111:2181(连接)1]2019-06-23 07:28:06,581 [myid:] - INFO (main-SendThread (ip - 172 - 31 - 26 - 111. - cn -北- 1. compute.internal: 2181): ClientCnxn $ SendThread@1158]——无法从服务器读取更多数据sessionid 0 x30000c504530000,可能服务器已经关闭套接字关闭套接字连接并重新尝试连接 …… 2019-06-23 07:28:09,822 [myid:]——信息[main-SendThread (ip - 172 - 31 - 26 - 111. - cn -北- 1. compute.internal: 2181): ClientCnxn SendThread@1025美元)——打开套接字连接到服务器ip - 172 - 31 - 26 - 111. - cn -北- 1. - compute.internal/172.31.26.111:2181。不会尝试使用SASL验证(未知错误) 2019-06-23 07:28:09,824 [myid:]——信息[main-SendThread (ip - 172 - 31 - 26 - 111. - cn -北- 1. compute.internal: 2181): ClientCnxn SendThread@879美元)——建立套接字连接ip - 172 - 31 - 26 - 111. - cn -北- 1. - compute.internal/172.31.26.111:2181发起会话 2019-06-23 07:28:09,825 [myid:]——信息[main-SendThread (ip - 172 - 31 - 26 - 111. - cn -北- 1. compute.internal: 2181): ClientCnxn $ SendThread@1158]——无法从服务器读取更多数据sessionid 0 x30000c504530000,可能服务器已经关闭套接字关闭套接字连接,尝试重新连接
4.3我们继续杀死掉zk3上的进程,只保留zk2上的进程。但是我们已经无法确认zk2是领袖还是效仿,或者说,他是否还保留有数据。
[root@ip - 172 - 31 - 26 - 111本)#译本 4183年QuorumPeerMain 4648年译本 [root@ip - 172 - 31 - 26 - 111本)4183 # kill - 9 [root@ip - 172 - 31 - 26 - 111本)#译本 4658年Jps动物园管理员跨区高可用方案