zookeeper 集群 Cannot open channel to X at election address Error contacting service. It is probably not running.


zookeeper集群   啟動

 

1.問題現象。 啟動每一個都提示  STARTED 但是查看 status時全部節點都報錯

[root@ip-172-31-19-246 bin]# sh zkServer.sh  start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

 

[root@ip-172-31-29-48 bin]# sh zkServer.sh status

 

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

 

2.打印日志 看報錯  全部節點都報這個錯誤

 

tail -1000f zookeeper.out 

2016-04-27 01:22:50,087 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumPeer$QuorumServer@149] - Resolved hostname: node2.vvshop.cc to address: node2.vvshop.cc/54.254.152.81
2016-04-27 01:22:50,088 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@400] - Cannot open channel to 3 at election address node3.vvshop.cc/52.221.223.222:3888
java.net.ConnectException: Connection refused
        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:589)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:426)
        at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:843)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:822)
2016-04-27 01:22:50,319 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumPeer$QuorumServer@149] - Resolved hostname: node3.vvshop.cc to address: node3.vvshop.cc/52.221.223.222
2016-04-27 01:22:50,319 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FastLeaderElection@852] - Notification time out: 60000

 

 3.網上尋求解決方案

1.http://freeman983.iteye.com/blog/2053037   log目錄沒有創建導致出錯 並不是原因。

 

2.http://blog.csdn.net/qianggezhishen/article/details/49363349  (我的配置都是對的 但是仍然報錯)

ZooKeeper安裝使用時遇到各種奇怪問題的解決方法:

1.nohup:failed to run command ‘Java’: No such file or directory
2.Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect

a.檢查myid文件數字是否跟配置的能對的上

b.檢查myid文件是否已經拷貝到dataDIr配置的路徑里了

c.檢查/etc/profile和/etc/environment 是否設置了Java和Zookeeper的路徑

d.Zookeeper集群節點必須是3個以上

 

3.還是 歪果仁給力 stackoverflow 查到解決方案:

 http://stackoverflow.com/questions/30940981/zookeeper-error-cannot-open-channel-to-x-at-election-address

 例如:

server.1=0.0.0.0:2888:3888 server.2=192.168.10.10:2888:3888 server.3=192.168.2.1:2888:3888


Step 1:

 

Node 1:

zoo.cfg

server.1= 0.0.0.0:<port>:<port2>

server.2= <IP>:<port>:<port2>

.

.

.

server.n= <IP>:<port>:<port2>


Node 2 :

server.1= <IP>:<port>:<port2>

server.2= 0.0.0.0:<port>:<port2>

.

.

.

server.n= <IP>:<port>:<port2>

 

 

 如願看到: 

[root@ip-172-31-29-48 bin]# sh zkServer.sh  status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader

 

[root@ip-172-31-23-7 bin]# sh zkServer.sh  status

 

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower

 

[root@ip-172-31-19-246 bin]# sh zkServer.sh  status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower

 

如果遇到 java.net.NoRouteToHostException: No route to host

建議關閉防火牆試試

Java.net.NoRouteToHostException:No route to host

上網查詢的結論如下:

沒有路由連接到本機,無法到達遠程主機,

原因:防火牆干擾或中間路由器停機

(用telnet查看該機器是否正常連接,結果如下:

Trying 199.155.122.91...
telnet: connect to address 199.155.122.91: No route to host
telnet: Unable to connect to remote host: No route to host)

解決的辦法是:和防火牆規則有關,關閉防火牆就可以了

關閉防火牆之后,結果如下:

Trying 199.155.122.91...
telnet: connect to address 199.155.122.91: Connection refused
telnet: Unable to connect to remote host: Connection refused

 http://blog.csdn.net/chenyi8888/article/details/8552860


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM