4

我正在尝试在具有 3 个服务器的复制节点中设置 zookeeper。

我的配置文件是这样的

tickTime=2000 
dataDir=/var/lib/zookeeper/ 
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

我收到以下异常

QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderElection@642] - Adding vote 

2009-09-23 15:30:28,099 - WARN  [WorkerSender Thread:QuorumCnxManager@336] - 
Cannot open channel to 3 at election address zoo1/172.21.31.159:3888 
java.net.ConnectException: Connection refused at sun.nio.ch.Net.connect(Native Method)> at 
sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:507) 
at java.nio.channels.SocketChannel.open(SocketChannel.java:146) 
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:

所有端口都打开,ssh、telnet 也可以工作。

谢谢

4

2 回答 2

7

这是一个快速清单:

  • 你有/var/lib/zookeeper/myid档案吗?
  • 该文件中定义的 id 是否与配置中定义的机器名称/IP 同步(zoo1 的 id 为 1 等...)?
于 2011-10-28T18:44:52.960 回答
1

不知道为什么,但我不得不0.0.0.0在 Zookeeper 配置中为每个服务器使用主机名。

IE:

服务器 1

我的身份

1

动物园.cfg

server.1=0.0.0.0:2888:3888
server.2=X.X.X.2:2888:3888
server.3=X.X.X.3:2888:3888

服务器 2

我的身份

2

动物园.cfg

server.1=X.X.X.1:2888:3888
server.2=0.0.0.0:2888:3888
server.3=X.X.X.3:2888:3888

服务器 3

我的身份

3

动物园.cfg

server.1=X.X.X.1:2888:3888
server.2=X.X.X.2:2888:3888
server.3=0.0.0.0:2888:3888
于 2018-09-04T15:30:33.433 回答