风暴版: 0.82
zookeeper版本: 3.4.5 。
我们有一个小型风暴群(1个雨云和3个监督员),所以只使用1个动物园管理员实例与风暴雨云共存。
很少我们开始在zookeeper日志中收到以下错误,我们的风暴集群陷入停滞。
2014-04-05 13:27:32,885 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFact
ory@197] - Accepted socket connection from /10.0.1.183:56121
2014-04-05 13:27:32,886 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@7
93] - Connection request from old client /10.0.1.183:56121; will be dropped if server is in r-o mode
2014-04-05 13:27:32,886 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@8
32] - Client attempting to renew session 0x1452dd02834002e at /10.0.1.183:56121
2014-04-05 13:27:32,886 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@5
95] - Established session 0x1452dd02834002e with negotiated timeout 40000 for client /10.0.1.183:561
21
在风暴结束时,我们开始在主管和工作人员日志中看到以下内容:
2014-04-05 11:37:29 ConnectionStateManager [WARN] There are no ConnectionStateListeners registered.
2014-04-05 11:37:29 cluster [WARN] Received event :disconnected::none: with disconnected Zookeeper.
2014-04-05 11:37:31 ClientCnxn [WARN] Session 0x1452dd028340015 for server null, unexpected error,
losing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119)
2014-04-05 11:37:42 CuratorFrameworkImpl [ERROR] Background operation retry gave up
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.zookeeper.KeeperException.create(KeeperException.java:90)
at com.netflix.curator.framework.imps.CuratorFrameworkImpl.processBackgroundOperation(Curat
rFrameworkImpl.java:380)
at com.netflix.curator.framework.imps.BackgroundSyncImpl$1.processResult(BackgroundSyncImpl
java:49)
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:617)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:506)
我们是否需要将zookeeper降级到3.3.3或者是否存在我们遗漏的已知问题/配置?
答案 0 :(得分:2)
我们还遇到了Storm 0.9和Zookeeper 3.4.X的几个问题,尽管不完全是您描述的问题。
Storm邮件列表也报告了此类不兼容问题:
https://mail.google.com/mail/u/0/#search/label%3Astorm+zookeeper+3.4/144313a45ba069b5 https://mail.google.com/mail/u/0/#search/label%3Astorm+zookeeper+3.4/1447d95d10ce7582
后面的这个指向我们这个Storm pull请求,希望我们可以在将来发布时使用ZK 3.4.X和未来版本的Storm:
https://github.com/apache/incubator-storm/pull/29
在此之前,我建议将ZK降级到3.3.6(如果你绝对需要ZK 3.4.X用于另一个系统,你可以为Storm安装一个特定的ZK实例)。您还可以克隆Storm代码并在本地合并该拉取请求或编译最新版本的主干,但这有点冒险,而且只是等待那些好人为我们提供新版本:)
答案 1 :(得分:0)
此情况的解决方法是清除storm的数据目录(在strom.yaml ==> storm.local.dir中配置),然后重新启动主管。我在我的测试环境中通过clear storm的数据目录完成了这个并重新启动了nimbus和supervisor。 我认为这是由于风暴集群之前的崩溃造成的,而且主管无法从这样的地方恢复。