1、报错
[root@node1 ~]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process
[root@node1 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
[root@node1 ~]#
查看日志
-- ::, [myid:] - ERROR [node2/::QuorumCnxManager$Listener@763] - Exception while listening
java.net.BindException: Cannot assign requested address (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:)
at java.net.ServerSocket.bind(ServerSocket.java:)
at java.net.ServerSocket.bind(ServerSocket.java:)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:)
2、解决办法
百度了
BindException: Cannot assign requested address (Bind failed)
,网友们提供的方法不能解决我的遇到的问题。
最后意外发现时我的配置文件zoo.cfg配置错误:
server.1=node2::
server.2=node2::
server.3=node3::
很显然,将
server.1=node2:2888:3888
修改为
server.1=node1:2888:3888
即可。
重启ZK,问题解决。