卡夫卡3节点集群动物园管理员无法连接
问题描述:
我一直在努力与3节点Kafka集群设置。我已经看过所有的答案,似乎在做一切正确的事情。但是,Zookeeper无法同步,因此kafka服务器无法连接。卡夫卡3节点集群动物园管理员无法连接
这里是我的饲养员配置
dataDir=/home/kafka/zookeeper/data
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=50
server.1=0.0.0.0:2888:3888
server.2=139.59.80.73:2888:3888
server.3=139.59.80.76:2888:3888
initLimit=5
syncLimit=2
在每一个我已经设置了server.id为0.0.0.0如SO答案的一个建议的其他服务器。所以server.2在第二台机器上会有0.0.0.0。我已经重新检查了数据目录中的myid文件以获得相应的ID。
即使等待,而动物园管理员服务不sychronize,我总是看到这些异常后:
2017-07-31 12:40:49,110] WARN Cannot open channel to 1 at election address /139.59.80.4:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager)
java.net.NoRouteToHostException: No route to host (Host unreachable)
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)
让我困扰的是,我可以telnet到对方计算机上的端口2181,但动物园管理员服务未能连接。完全困惑。任何帮助将不胜感激。
答
原来是一个端口问题。以下端口2888和3888必须打开。我在Linux上禁用了IPTables,但似乎从未工作。我转移到AWS并打开这两个端口,动物园管理员开始罚款。