小编dks*_*s28的帖子

Apache ZooKeeper 集群在领导者选举后失去连接

我正在运行一个具有五个节点的 ZooKeeper 集群,每个节点都有以下配置(最后加上正确的仲裁信息):

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/usr/local/zookeeper/data
clientPort=2181
minSessionTimeout=4000
maxSessionTimeout=40000
4lw.commands.whitelist=*
Run Code Online (Sandbox Code Playgroud)

集群一开始运行良好。出于测试目的,我随后终止了当前领导者的 ZooKeeper 实例(每个 ZooKeeper 服务器都在会话的前台运行screen)。然后,正如预期的那样,触发了领导者选举,另一个节点被选举为领导者。
然而,当然后尝试向 Java 客户端中的集群发送get//请求setcreate(最初运行良好的进程),以及通过与集群进行交互,zkCli.sh只会永远给出客户端的状态CONNECTING
此时,我已经执行了明显的故障排除步骤,例如

  • echo stat | nc localhost 2181-- 在任何一台仍在运行的服务器上,这只会表明一切正常,例如
Clients:
 /10.0.0.1:35264[1](queued=0,recved=2,sent=1)
 /10.0.0.2:49230[0](queued=0,recved=1,sent=0)
 /127.0.0.1:34162[0](queued=0,recved=1,sent=0)
 /10.0.0.3:49530[0](queued=0,recved=1,sent=0)
 /10.0.0.1:35250[0](queued=0,recved=1,sent=0)
 /10.0.0.4:35406[1](queued=0,recved=2,sent=1)
 /10.0.0.2:49304[1](queued=0,recved=1,sent=1)

 Latency min/avg/max: 0/0/0
 Received: 484
 Sent: 140
 Connections: 7
 Outstanding: 343 
 Zxid: 0x200000000
 Mode: leader
 Node count: 15
 Proposal sizes last/min/max: 32/32/75
Run Code Online (Sandbox Code Playgroud)
  • echo ruok | nc localhost 2181只是输出iamok
  • 以下是我注入失败后当选为leader的服务器上的日志文件内容(已删节):
2019-08-12 …
Run Code Online (Sandbox Code Playgroud)

apache-zookeeper

5
推荐指数
0
解决办法
2920
查看次数

标签 统计

apache-zookeeper ×1