由于以下原因而无法启动Zookeeper:由于java.io.EOFException而导致会话0x0关闭的异常

时间:2018-08-10 20:35:55

标签: apache-kafka apache-zookeeper

我正在尝试使用以下命令通过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上没有其他运行。

我看到这个问题已经问了好几次了,没有答案,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这可能是由于Zookeeper数据损坏造成的。您不应将dataDir设置为/tmp/*。如果您的计算机清除了/ tmp的某些数据,则Zookeeper在重新启动后将很难恢复其状态。如果查看Zookeeper日志,则应该在其中看到某种异常。

自从您提到此Zookeeper实例仅用于测试目的。你应该设置 dataDir/tmp以外的任何内容,然后尝试重新启动。