JobPlus知识库 IT 大数据 文章
Zookeeper启动成功,但无法查看status

安装好zookeeper-3.4.10,顺利启动:

[html] 

  1. [root@node228 bin]# ./zkServer.sh start  
  2. ZooKeeper JMX enabled by default  
  3. Using config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfg  
  4. Starting zookeeper ... STARTED  

jps也可以看到进程:

[html] 

  1. [root@node228 bin]# jps  
  2. 2788 QuorumPeerMain  
  3. 2917 Jps  

查看zookeeper状态:出错了!!!

[html] 

  1. [root@node228 bin]# ./zkServer.sh status  
  2. ZooKeeper JMX enabled by default  
  3. Using config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfg  
  4. Error contacting service. It is probably not running.  

查看/bin目录下的zookeeper.out日志:

[html] 

  1. 2018-05-16 16:14:35,387 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@588] - Cannot open channel to 2 at election address slave/192.168.255.129:3888  
  2. java.net.ConnectException: <span style="color:#ff0000;"><strong>Connection refused (Connection refused)</strong></span>  
  3.     at java.net.PlainSocketImpl.socketConnect(Native Method)  
  4.     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)  
  5.     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)  
  6.     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)  
  7.     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)  
  8.     at java.net.Socket.connect(Socket.java:589)  
  9.     at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:562)  
  10.     at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:538)  
  11.     at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:452)  
  12.     at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:433)  
  13.     at java.lang.Thread.run(Thread.java:748)  

排除所有的配置问题后,还有出现,这是为啥呢?

那是因为只有这个节点的进程启动了,其他节点的进程还没有启动,这个节点的进程无法与其他节点进行交互,更无法选出leader和follwer,所以这个节点不知道自己到底是leader还是follwer,当然也就显示不了status了。

开启其他节点进程:

[html] 

  1. [root@node224 bin]# ./zkServer.sh start  
  2. ZooKeeper JMX enabled by default  
  3. Using config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfg  
  4. Starting zookeeper ... STARTED  
  5. [root@node224 bin]# jps  
  6. 4987 <span style="color:#ff0000;"><strong>QuorumPeerMain</strong></span>  
  7. 5023 Jps  
  8. [root@node224 bin]#   

再查看两个节点status:

[html] 

  1. [root@node228 bin]# ./zkServer.sh status  
  2. ZooKeeper JMX enabled by default  
  3. Using config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfg  
  4. Mode: <span style="color:#ff0000;"><strong>follower</strong></span>  
  5. [root@node228 bin]#   

[html] 

  1. [root@node224 bin]# ./zkServer.sh status  
  2. ZooKeeper JMX enabled by default  
  3. Using config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfg  
  4. Mode: leader  
  5. [root@node224 bin]#   

哈哈,成功啦!!!

如果早点看懂原理,也就不用花这么长时间做测试了


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
106人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序