本文共 2304 字,大约阅读时间需要 7 分钟。
安装好zookeeper-3.4.10,顺利启动:
[root@node228 bin]# ./zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfgStarting zookeeper ... STARTED
jps也可以看到进程:
[root@node228 bin]# jps2788 QuorumPeerMain2917 Jps
查看zookeeper状态:出错了!!!
[root@node228 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfgError contacting service. It is probably not running.
查看/bin目录下的zookeeper.out日志:
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:3888java.net.ConnectException: Connection refused (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:562) at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:538) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:452) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:433) at java.lang.Thread.run(Thread.java:748)
排除所有的配置问题后,还有出现,这是为啥呢?
那是因为只有这个节点的进程启动了,其他节点的进程还没有启动,这个节点的进程无法与其他节点进行交互,更无法选出leader和follwer,所以这个节点不知道自己到底是leader还是follwer,当然也就显示不了status了。
开启其他节点进程:
[root@node224 bin]# ./zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[root@node224 bin]# jps4987 QuorumPeerMain5023 Jps[root@node224 bin]#
再查看两个节点status:
[root@node228 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower[root@node228 bin]#
[root@node224 bin]# ./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: leader[root@node224 bin]#
哈哈,成功啦!!!
如果早点看懂原理,也就不用花这么长时间做测试了