Zookeeper CLI失败 - IOException数据包<len12343123123>超出范围

Wan*_*rer 6 apache-zookeeper

运行zookeeper 3.3.3.我有一个znode,我只是想通过CLI列出,如:

ls/myznode/subznode

这在第710行的org.apache.ClientCnxn $ SendThread.readLength中与IOException崩溃.

谁见过这个?有人建议znode中可能存在坏数据.不确定是否,或者如何...但我也不能删除它,因为它有内容.

Cha*_* L. 10

我通过增加列表调用的最大大小来解决这个问题.

我在我的zkCli.sh脚本中添加了"-Djute.maxbuffer = 50111000",以便它使用以下行启动客户端:

$JAVA "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
 "-Djute.maxbuffer=49107800" -cp "$CLASSPATH" $CLIENT_JVMFLAGS $JVMFLAGS \
 org.apache.zookeeper.ZooKeeperMain "$@"
Run Code Online (Sandbox Code Playgroud)

然后我能够列出并使用rmr/big/node


Wan*_*rer 4

因此,问题在于相关 znode 已被子 znode 淹没。大约有 500 万。动物园管理员显然不喜欢这样。更糟糕的是,没有很好的方法来清理它。ZK 应该有一个修剪命令(或其他命令)。感谢您的回答。