server 1:
[root@wx03 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /zookeeper/server1/bin/../conf/zoo.cfg
Mode: follower
server 2:
[root@wx03 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /zookeeper/server2/bin/../conf/zoo.cfg
Mode: leader
server 3:
[root@wx03 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /zookeeper/server3/bin/../conf/zoo.cfg
Mode: follower
关闭server 1 follower:
此时server 1的状态:
[root@wx03 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /zookeeper/server1/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
关闭leader:
此时server 3称为leader:
[root@wx03 zookeeper]# cd server3
[root@wx03 server3]# cd bin/
[root@wx03 bin]# ./zk
zkCleanup.sh zkCli.cmd zkCli.sh zkEnv.cmd zkEnv.sh zkServer.cmd zkServer.sh
[root@wx03 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /zookeeper/server3/bin/../conf/zoo.cfg
Mode: leader
发现zk 切换有时候会取不到数据:
zjtest7-redis:/root/zk# perl test_zk.pl
192.168.32.6
@arr2 is 1 aaabbb
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
2 cccddeqe
zjtest7-redis:/root/zk# perl test_zk.pl
zjtest7-redis:/root/zk#
原因:
你给出的zookeeper列表里哪些主机已经死了.你链接的时候会失效是很正常的.
如果不是长连接,需要把停掉的server 节点,踢掉