Zookeeper 常见问题

[持续更新] 维护经常碰到的 Zookeeper 问题,方便检索。

1. 检查 Zookeeper 是否可连接

如果 ZK 不能连接,检查防火墙,或者 zk 是否还活着?

  • kafka 安装包只有 zookeeper 的运行环境,不包含命令行工具,需要下载 zkCli 工具,配合我们 kafka 的 zk 命令行:apache-zookeeper-3.5.6-bin
  • 通过命令行连接 zk 服务器
    命令: zkCli.cmd -server 10.1.1.72:2181
    image.png
  • 查看 zk 下的 node 信息
    命令: ls /
    image.png

2. it has seen zxid 0x11f our last zxid is 0x0

原因: 清理 kafka 和 zk 运行日志时,没有关掉 MES 服务,zk 服务端事务 ID 从 zxid 0 开始,而客户端持有更大的 zxid

image.png

Server log output (repeats indefinitely):

[2019-11-04 12:09:15,851] INFO Accepted socket connection from /127.0.0.1:56142
(org.apache.zookeeper.server.NIOServerCnxnFactory)
[2019-11-04 12:09:15,852] INFO Refusing session request for client /127.0.0.1:56
142 as it has seen zxid 0x11f our last zxid is 0x0 client must try another serve
r (org.apache.zookeeper.server.ZooKeeperServer)
[2019-11-04 12:09:15,853] INFO Closed socket connection for client /127.0.0.1:56
142 (no session established for client) (org.apache.zookeeper.server.NIOServerCn
xn)