实验:zk master宕机后,临时节点在新的master上是否存在,结果出人意料

一、实验

实验说明:3台zk集群,主要验证:master上的客户端,在master上建立临时节点,当master宕机时,其他follower选为主后,临时节点是否存在。

主要是通过此来验证,基于zk的分布式锁是否足够健壮。验证:是否会在master宕机后,存在多个客户端都能拿到分布式锁的情况。

 

二、步骤

前提:搭建好集群。

我这边共3台机器,ip为:192.168.58.131(leader)  192.168.58.132(follower)  192.168.58.133(follower)

为了显眼,leader的shell屏幕为绿色,每个ip开了2个shell(一个进行zkCli操作,一个方便在外面操作),如下:

 

 

 

 0、先在各自机器上开启zkCli,连接到各自的zk节点

分别在3台机器上启动zkCli,启动命令如下:

 

1、在master创建临时节点

 

2、观察follower

 

 

3、模拟master宕机,观察新选举的leader节点上,临时节点是否存在

 

观察剩下的两台follower,看看新选举了哪台为leader:

 

 

以上,说明133从follower被提升为leader。

 

接下来,看看133上,临时节点是否存在,可以看到,一开始是存在的:

 

我操作了很多次,接下来这张和上图比较像,但其实不是重复,而是我:手速够快

 

注意下图,过了这么一阵时间后(大概几秒钟左右),临时节点消失了:

 

三、结论

主节点宕机后,其上的会话建立的临时节点,一开始在新的leader上是存在的,过了一会后,消失了。

具体原因,还待研究。

posted @ 2019-08-14 21:23  三国梦回  阅读(925)  评论(0编辑  收藏  举报