zhmg23

我们是如此的不同
资深运维工程师互荐群: 102123162

zookeeper查看状态失败解决

zookeeper查看状态,失败,报错:

#  /usr/local/zookeeper/bin/zkServer.sh  status   

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Error contacting service. It is probably not running.


一般这种错误可能有以下几种原因,但不限于:

1)zoo.cfg配置文件中,配置的日志存放目录不存在,解决办法:新建立日志存放目录

2)zkServer.sh脚本错误,说调用 nc失败导致,安装nc即可,但是我的版本是3.4.5,检查脚本,没有发现使用nc,所以此项排除

3)/etc/hosts未配置主机名映射或myid配置有误

4)java版本问题,检查确定几台zk的java版本是否全部一致

5)网络问题,检查zk配置的端口,是不是开了防火墙,未加到iptables,允许放行。


另外,以上问题对比排查,还要仔细看一下zookeeper的日志,这样对于解决问题更有效!

java.net.NoRouteToHostException: 没有到主机的路由

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:579)

at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:354)

at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:388)

at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:765)

at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:716)


我的问题很明显,是因为网络问题,造成了zk之间的通信故障,解决办法就是把zk需要的商品,在iptables中放行。

评论