天天看點

ZooInspector 連接配接不到 Zookeeper 的解決方法

Zookeeper正常啟動後,在使用 ZooInspector 連接配接 Zookeeper 時出現了連接配接不上的問題。

[[email protected] bin]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
           

看列印出的資訊是啟動成功了,但就是連接配接不上。

決解方法:

這時檢視一下Zookeeper的啟動狀态或日志檔案:

[[email protected] bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
           

可以看到發生了錯誤,并沒有正常啟動。

再看一下日志檔案:

-- ::, [myid:] - INFO  [main-SendThread(localhost:):ClientCnxn$SendThread@1161] - Unable to read additional data from server sessionid , likely server has closed socket, closing socket connection and attempting reconnect
-- ::, [myid:] - WARN  [QuorumPeer[myid=]/:::::::::QuorumPeer$QuorumServer@190] - Failed to resolve address: slave-
java.net.UnknownHostException: slave-: 未知的名稱或服務
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:)
    at java.net.InetAddress.getAllByName0(InetAddress.java:)
    at java.net.InetAddress.getAllByName(InetAddress.java:)
    at java.net.InetAddress.getAllByName(InetAddress.java:)
    at java.net.InetAddress.getByName(InetAddress.java:)
    at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.recreateSocketAddresses(QuorumPeer.java:)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:)
    at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:)
    at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:)
-- ::, [myid:] - INFO  [QuorumPeer[myid=]/:::::::::FastLeaderElection@854] - Notification time out: 
-- ::, [myid:] - INFO  [main-SendThread(localhost:):ClientCnxn$SendThread@1035] - Opening socket connection to server localhost/:::::::: Will not attempt to authenticate using SASL (unknown error)
           

大概猜出來了,配置檔案中有錯誤:

[[email protected] bin]# vim ../conf/zoo.cfg 

tickTime=2000
dataDir=/usr/local/zookeeper-3.4.11/data
dataLogDir=/usr/local/zookeeper-3.4.11/log
clientPort=2181
initLimit=5
syncLimit=2
server.1=slave-01:2888:3888
server.2=slave-02:2888:3888
server.3=slave-03:2888:3888
           

檔案中配置的是叢集方式,現在是單機啟動(不是單機啟動不行,而是學習的過程中實驗環境一直在變化)