我正在尝试使用以下命令通过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上没有其他运行。
我看到这个问题已经问了好几次了,没有答案,有什么想法吗?
答案 0 :(得分:1)
这可能是由于Zookeeper数据损坏造成的。您不应将dataDir
设置为/tmp/*
。如果您的计算机清除了/ tmp的某些数据,则Zookeeper在重新启动后将很难恢复其状态。如果查看Zookeeper日志,则应该在其中看到某种异常。
自从您提到此Zookeeper实例仅用于测试目的。你应该设置
dataDir
除/tmp
以外的任何内容,然后尝试重新启动。