无法启动zookeeper,原因是:由于java.io.eofexception导致会话0x0关闭的异常

23c0lvtd  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(4141)

我正在尝试通过cli使用以下命令启动zookeeper: bin/zookeeper-server-start.sh ../config/zookeeper.properties 它哼了一秒钟似乎都是正确的,直到它说:

INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

然后下面循环无限期直到我退出:

[2018-08-10 15:07:48,223] INFO Accepted socket connection from /172.31.39.32:46374 (org.apache.zookeeper.server.NIOServerCnxnFactory)
    [2018-08-10 15:07:48,228] WARN Exception causing close of session 0x0 due to java.io.IOException: ZooKeeperServer not running (org.apache.zookeeper.server.NIOServerCnxn)
    [2018-08-10 15:07:48,228] INFO Closed socket connection for client /172.31.39.32:46374 (no session established for client) (org.apache.zookeeper.server.NIOServerCnxn)

这是一个单服务器,我相信是一个单节点测试服务器,因此没有仲裁或其他块运行。我的zookeeper配置是基本配置,它只包含以下内容:

dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0

奇怪的是,我的Zookeeper一直运行良好,我没有改变配置。把它拉下来,试图修复其他东西做一个快速重启zookeeper,它不会动摇。我查过了,2181端口上没有别的东西。
我看到这个问题被问了好几次都没有答案,有什么想法吗?

6pp0gazn

6pp0gazn1#

这可能是因为zookeeper数据中的某些损坏。你不应该设置 dataDir/tmp/* . 如果您的计算机清除了/tmp的一些数据,zookeeper将很难在重新启动时恢复状态。如果你检查zookeeper日志,你会看到一些异常。
因为您提到这个zookeeper示例只是用于测试目的。你应该设置 dataDir 除了 /tmp 然后尝试重新启动。

相关问题