2

我有一个 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 节点,它应该容忍其中一个死掉。是否必须在其中一个中设置一些东西才能使它起作用?

4

1 回答 1

2

原来是iptables。Zookeeper 服务器之间从来没有法定人数,所以实际上,在我停止的那个服务器退出之后,它的行为就像它应该有的那样。我在一台没有打开它们的服务器上打开了端口 2181、2888 和 3888,现在我可以在 Storm 还活着的情况下杀死其中一个。

于 2013-10-10T03:39:54.730 回答