[root@localhost bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/zookeeper/zookeeper3.5.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/zookeeper/zookeeper3.5.8/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
执行 ./zkServer.sh start 显示已经 Starting zookeeper ... STARTED,但是用 ./zkServer.sh status 查看命令的方法却显示 Error contacting service. It is probably not running.
查看logs目录下相关的日志信息:
2020-10-14 21:24:09,286 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@697] - Notification: 2 (message format version), 1 (n.leader), 0x5d (n.zxid), 0x1 (n.round), LEADING (n.state), 1 (n.sid), 0x1 (n.peerEPoch), LOOKING (my state)0 (n.config version)
2020-10-14 21:25:09,291 [myid:3] - INFO [QuorumPeer[myid=3](plain=[0:0:0:0:0:0:0:0]:2181)(secure=disabled):FastLeaderElection@937] - Notification time out: 60000
2020-10-14 21:25:09,297 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@697] - Notification: 2 (message format version), 3 (n.leader), 0x0 (n.zxid), 0x1 (n.round), LOOKING (n.state), 3 (n.sid), 0x0 (n.peerEPoch), LOOKING (my state)0 (n.config version)
2020-10-14 21:25:09,298 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@697] - Notification: 2 (message format version), 1 (n.leader), 0x5d (n.zxid), 0x1 (n.round), LEADING (n.state), 1 (n.sid), 0x1 (n.peerEPoch), LOOKING (my state)0 (n.config version)
2020-10-14 21:25:09,300 [myid:3] - WARN [QuorumConnectionThread-[myid=3]-18:QuorumCnxManager@381] - Cannot open channel to 2 at election address /192.168.0.88:3888
java.net.NoRouteToHostException: No route to host (Host unreachable)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:373)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:436)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
我的解决方案:
关闭 192.168.0.88 这台机器的防火墙,连接成功