【问题标题】:storm dies when certain zookeeper nodes fail当某些 zookeeper 节点失败时,storm 会死掉
【发布时间】:2013-10-17 11:05:53
【问题描述】:

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

【问题讨论】:

  • 嗨@numb3rs1x,您使用监督流程来管理您的动物园管理员吗?
  • 嗨@jumping_monkey 我希望我能记住。如果我没记错的话,我们很快就放弃了这个项目。如果我今天必须这样做,而且我不打算在 kubernetes 中这样做,我会在 centos 上使用 systemd,因为它是我熟悉的。我想这是一个很长的路要走“说是的,我(做)会”。
  • 非常感谢您回复@numb3rs1x。不幸的是,我的盒子是 Solaris 11,不能使用 systemd,因为我读到(快速谷歌)那些采用它的发行版是 Linux 发行版,我也不想考虑 Solaris 上的 SMF(如果我们从 Solaris 迁移到未来的 Linux)。再次感谢!

标签: apache-zookeeper apache-storm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-09-14
    • 1970-01-01
    • 2020-02-15
    • 2015-07-25
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2017-04-21
    • 2019-09-08
    相关资源
    最近更新 更多