动物园管理员跨区高可用方案

  

最近由于业务需求,测试各种组件的高可用性。由于我们的环境在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

动物园管理员跨区高可用方案