我試圖配置3個節點的合奏後documentation。所有這些都在Linux Ubuntu上。 在所有三個節點配置文件看起來是這樣的:在$ ZOOKEEPER_HOME動物園管理員合奏不會出現
zoo.cfg/conf目錄
tickTime=2000
dataDir=/home/zkuser/zookeeper_data
clientPort=2181
initLimit=5
syncLimit=2
server.1=ip.of.zk1:2888:3888
server.2=ip.of.zk2:2888:3888
server.3=ip.of.zk3:2888:3888
我也放在/home/zkuser/zookeeper_data/
目錄下相應的 「myid
」 的文件。 這個myid文件包含1節點(ip.of.zk1),等等。
當我使用bin/zkServer.sh啓動zk服務器啓動時,控制檯上沒有顯示任何異常。 但是,當我打開bin目錄下的zookeeper.out文件時,我看到以下錯誤。
2014-11-04 00:23:49,120 [myid:3] - WARN [WorkerSender[myid=3]:[email protected]] - Cannot open channel to 1 at election address /ip.of.zk1:3888
java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:546)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
at java.lang.Thread.run(Thread.java:701)
2014-11-04 00:23:49,123 [myid:3] - WARN [WorkerSender[myid=3]:[email protected]] - Cannot open channel to 2 at election address /ip.of.zk2:3888
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:546)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
at java.lang.Thread.run(Thread.java:701)
注意:我已經打開使用的每個機器的iptables相應的端口。 例如: 鏈INPUT(政策接受)
target prot opt source destination
ACCEPT all -- IP.of.ZK1 anywhere
ACCEPT all -- IP.of.ZK2 anywhere
ACCEPT all -- IP.of.ZK3 anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
誰能請告訴我,我已經錯過了什麼?
問候, JE
你是如何解決這個問題的?我也面臨同樣的問題。 – ferhan 2015-02-09 07:55:25