前言
最近在搭建 zookeeper
服务,期间遇到一些报错,这里整理并记录下。
报错内容
#./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /tmp/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
日志报错内容:
2022-06-14 17:50:43,174 [myid:1] - WARN [QuorumConnectionThread-[myid=1]-2:QuorumCnxManager@347] - Cannot open channel to 3 at election address tolc-kafka-0004/15.252.92.159:4181
java.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.initiateConnection(QuorumCnxManager.java:339)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:402)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
问题原因
我这里遇到的原因是 /etc/hosts
文件中有一行配置了回环地址,即 127.0.1.1 kafka-001
注意我这里是 127.0.1.1 不是 127.0.0.1
。所以导致通信失败。
解决方案
注释掉回环地址。
还有其余的排查思路:
- 检查/etc/hosts 是否正确映射
- 检查时钟同步
- 检查防火墙
- 在/etc/hosts 中加入
0.0.0.0
地址映射
问题解决!