Storm kafka spout始终重试localhost而不是远程Zookeeper

问题描述

风暴版本1.1.0 Zookeeper版本3.4.6

我们在AWS EC2中获得了3个Zookeeper集成,并且根据 echo ruok | nc zk-ip:port 并且echo stat | nc zk-ip:port可以显示它是关注者还是领导者。所以我认为服务器集成是好的。

当我在风暴中启动拓扑时,它会一直显示

java.net.ConnectException: Connection refused
    at sun.nio.ch.socketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_121]
    at sun.nio.ch.socketChannelImpl.finishConnect(UnkNown Source) ~[?:1.8.0_121]
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[stormjar.jar:?]
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141) [stormjar.jar:?]

因此,我从工作节点中提取了日志,并找到了以下日志(根据线程号精心挑选)

o.a.s.d.executor Thread-54-my-executor[27 27] [INFO] opening spout my:(27)
o.a.c.f.i.CuratorFrameworkImpl Thread-54-my-executor[27 27] [INFO] Starting
o.a.z.ZooKeeper Thread-54-my-executor[27 27] [INFO] Initiating client connection,connectString=zk-ip1:2181,zk-ip2:2181,zk-ip3:2181,sessionTimeout=20000 watcher=org.apache.curator.ConnectionState@23e783b5
o.a.z.ClientCnxn Thread-54-my-executor[27 27]-SendThread(zk-ip1:2181) [INFO] opening socket connection to server zk-ip1/zk-ip1:2181. Will not attempt to authenticate using SASL (unkNown error)
o.a.z.ClientCnxn Thread-54-my-executor[27 27]-SendThread(zk-ip1:2181) [INFO] Socket connection established to zk-ip1/zk-ip1:2181,initiating session
o.a.z.ClientCnxn Thread-54-my-executor[27 27]-SendThread(zk-ip1:2181) [INFO] Session establishment complete on server zk-ip1/zk-ip1:2181,sessionid = 0x274c0bb1469d499,negotiated timeout = 20000
o.a.c.f.s.ConnectionStateManager Thread-54-my-executor[27 27]-EventThread [INFO] State change: CONNECTED
o.a.c.f.i.CuratorFrameworkImpl Thread-54-my-executor[27 27] [INFO] Starting
o.a.z.ZooKeeper Thread-54-my-executor[27 27] [INFO] Initiating client connection,connectString= sessionTimeout=20000 watcher=org.apache.curator.ConnectionState@e457784
o.a.z.ClientCnxn Thread-54-my-executor[27 27]-SendThread(localhost:2181) [INFO] opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unkNown error)

显示一开始工作人员可以连接到Zookeeper,但是由于未知原因,它尝试再次执行[INFO] Initiating client connection,connectString= sessionTimeout=20000 watcher=org.apache.curator.ConnectionState@e457784并且连接字符串为空。

这导致尝试连接本地主机Zookeeper,而没有任何Zookeeper运行,因此我得到了连接被拒绝的异常。

需要任何帮助,以找出第二次尝试中为何缺少connectString以及为什么首先出现连接丢失的原因。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)