zookeeper 常见问题

本文章记录zk相关问题,以便后续查阅;

The current epoch, 6, is older than the last zxid, 42949725905

如下图所示:

问题1
一个节点重启之后,会出现如上错误,导致起不来。

解法把数据路径下面的version-2文件move一下,然后新建一个version-2文件。然后重启即可。

参考

[1]https://blog.51cto.com/u_10950710/2113493

如何查看zk各个节点是否与leader数据同步?

在leader节点上执行如下命令:

1
for i in $(seq 2181 2183); do echo trying port: $i;echo mntr | nc localhost ${i} 2>/dev/null | grep "not currently serving";echo mntr | nc localhost ${i} 2>/dev/null| grep leader; echo mntr | $(which nc) localhost ${i} 2>/dev/null | grep follower ; done

补充:

1
echo mntr | nc localhost 2181

如上命令,可以看到zk的一些配置和状态

2181 2183是zk的端口号.
注意,需要安装nc[1]才行。

参考文献:

zk的四字命令

命令 描述
conf 输出相关服务配置的详细信息。比如端口、zk数据及日志配置路径、最大连接数,session超时时间、serverId等
cons 列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送”的包数量、session id 、操作延迟、最后的操作执行等信息
crst 重置当前这台服务器所有连接/会话的统计信息
dump 列出未经处理的会话和临时节点
envi 输出关于服务器的环境详细信息
ruok 测试服务是否处于正确运行状态。如果正常返回”imok”,否则返回空
stat 输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower)、节点总数、延迟。 所有客户端的列表
srst 重置server状态
wchs 列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数
wchc 通过session分组,列出watch的所有节点,它的输出是一个与 watch 相关的会话的节点列表
mntr 列出集群的健康状态。包括“接受/发送”的包数量、操作延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数

参考

[1] http://t.zoukankan.com/jdy1022-p-14830714.html

zookeeper packet len5860021 is out of range

jute.maxbuffer

参考 Zookeeper 服务器端和客户端扩大节点数据1M大小限制