Zookeeper正常啓動後,在使用 ZooInspector 鏈接 Zookeeper 時出現了鏈接不上的問題。java
[root@localhost bin]# zkServer.sh start ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
看打印出的信息是啓動成功了,但就是鏈接不上。apache
決解方法:vim
這時查看一下Zookeeper的啓動狀態或日誌文件:session
[root@localhost bin]# zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg Error contacting service. It is probably not running.
能夠看到發生了錯誤,並無正常啓動。socket
再看一下日誌文件:學習
2017-12-13 17:56:37,514 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1161] - Unable to read additional data from server sessionid 0x100000438d60007, likely server has closed socket, closing socket connection and attempting reconnect 2017-12-13 17:56:37,668 [myid:1] - WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumPeer$QuorumServer@190] - Failed to resolve address: slave-03 java.net.UnknownHostException: slave-03: 未知的名稱或服務 at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) at java.net.InetAddress.getAllByName0(InetAddress.java:1276) at java.net.InetAddress.getAllByName(InetAddress.java:1192) at java.net.InetAddress.getAllByName(InetAddress.java:1126) at java.net.InetAddress.getByName(InetAddress.java:1076) at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.recreateSocketAddresses(QuorumPeer.java:180) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:591) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610) at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:845) at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957) 2017-12-13 17:56:37,669 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FastLeaderElection@854] - Notification time out: 60000 2017-12-13 17:56:38,277 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1035] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
大概猜出來了,配置文件中有錯誤:.net
[root@localhost 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
文件中配置的是集羣方式,如今是單機啓動(不是單機啓動不行,而是學習的過程當中實驗環境一直在變化)日誌