当某些zookeeper节点失败时风暴就会消失

时间:2013-10-09 21:25:07

标签: apache-zookeeper apache-storm

我有一个nimbus服务器和3个zookeeper节点。

我的storm.yaml文件如下所示:

storm.zookeeper.servers:
 - "server1"
 - "server2"
 - "server3"

nimbus.host: "nimbus-server"

storm.local.dir: "/var/storm"

我的zoo.cfg文件都是这样的:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.3=server1:2888:3888
server.4=server2:2888:3888
server.5=server3:2888:3888

当所有三个zookeeper节点都在运行时,根据storm_ui,一切都很好。如果我关闭这三个节点中的一个节点,那么nimbus服务器会抱怨它无法连接到zookeeper集群并且它会死掉。我无法找到为什么会发生这种情况。文档说如果我有三个zookeeper节点,它应该容忍其中一个死亡。是否有必要在其中一个中设置的内容才能使其正常工作?

1 个答案:

答案 0 :(得分:2)

原来是iptables。动物园管理员服务器之间从来没有达到法定人数,所以实际上,在我停止的那个服务器之后,它的行为就像应该有的一样。我在没有打开它们的服务器上打开了端口2181,2888和3888,现在我可以杀死其中一个仍然活着的风暴。