我有两个风暴群 - 一个使用Ubuntu。这个集群工作正常,长时间没有问题。我刚刚在一台单独的机器上建立了第二个集群(带有独立的zookeeper,nimbus和supervisor)。我将这些行添加到spout:
String msgid = UUID.randomUUID().toString();
_collector.emit(new Values(sentence), msgid);
检查消息是否得到确认。螺栓也有ack方法。
当我在Ubuntu集群上启动此拓扑时 - 一切正常。我可以看到消息被鲸鱼喷水确认了。
但是,当我在CentOS群集上启动相同的拓扑时 - 消息未被鲸鱼喷水确认。
但Nimbus,Supervisor,Zookeeper没有错误。
以下是zoo.cfg
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
autopurge.purgeInterval=24
autopurge.snapRetainCount=5
以下是storm.yaml
:
storm.zookeeper.servers:
- "xxxxxxxxxxx"
nimbus.host: "xxxxxxxx"
nimbus.childopts: "-Xmx1024m -Djava.net.preferIPv4Stack=true"
ui.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
supervisor.childopts: "-Djava.net.preferIPv4Stack=true"
worker.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
storm.local.dir: "/mnt/storm"
我禁用了Iptables,SElinux,打开了安全组中的所有端口(我在AWS上)
不知道在哪里寻找问题。
P.S。目前我正在使用0.8.2版本的风暴。但我也试过0.9.0.1。尝试了两种通信方法(ZeroMQ和Netty)