我正在尝试通过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条答案
按热度按时间6pp0gazn1#
这可能是因为zookeeper数据中的某些损坏。你不应该设置
dataDir
至/tmp/*
. 如果您的计算机清除了/tmp的一些数据,zookeeper将很难在重新启动时恢复状态。如果你检查zookeeper日志,你会看到一些异常。因为您提到这个zookeeper示例只是用于测试目的。你应该设置
dataDir
除了/tmp
然后尝试重新启动。