Zookeeper连接异常,连接被拒绝


 ERROR NetworkManager client connect error
java.net.ConnectException: Connection refused
        at sun.nio.ch.Net.connect0(Native Method)
        at sun.nio.ch.Net.connect(Net.java:458)
        at sun.nio.ch.Net.connect(Net.java:450)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
        at ch.usi.da.paxos.ring.NetworkManager.connectClient(NetworkManager.java         :295)
        at ch.usi.da.paxos.ring.RingManager.notifyRingChanged(RingManager.java:115)
        at ch.usi.da.paxos.ring.RingManager.process(RingManager.java:189)
        at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.j         ava:522)
        at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)

是我从Java客户端调用Zookeeper时收到的错误。

我的zookeeper配置是

tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.1.200:2888:3888                                
server.2=192.168.1.201:2888:3888
server.3=192.168.1.202:2888:3888

我在Linux上运行这个程序,在windows上只有一个zookeeper实例,一切都运行得很好。似乎Zookeeper客户端连接到的是与服务器不同的子网

问题解决。日志含义客户端先选择ipv6接口,服务器端配置ipv4接口。之后,客户端选择计算机的全局Ip,而服务器配置为本地Ip。

在集群上禁用ipv6并将服务器配置为全局ip就可以了。

最新更新