【问题标题】:Migrate a (storm+nimbus) cluster to a new Zookeeper, without loosing the information or having downtime将(storm+nimbus)集群迁移到新的 Zookeeper,不会丢失信息或停机
【发布时间】:2019-09-18 15:44:24
【问题描述】:

我有一个使用 Zookeeper 的 nimbus+storm 集群,我希望移动我的集群并将其指向一个新的 Zookeeper。你知道这是否可能吗?我可以保留旧zookeeper的所有信息并保存在新的吗?有没有可能在不停机的情况下做到这一点?

我已经在互联网上查找了此程序,但没有找到太多。

是否会像更改 master 中的storm.yml 文件一样简单。和工作节点?之后需要重新启动吗?

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

【问题讨论】:

    标签: apache apache-zookeeper apache-storm


    【解决方案1】:

    如果您只是更改storm.yml,您会将Storm 指向一个新的空Zookeeper 集群,这就像您刚刚从头开始安装Storm。更有可能的是,您希望扩大 Zookeeper 集群以包含新机器,然后更新storm.yml 以指向新机器,然后缩小集群以排除您想要离开的机器。这样一来,即使您已移动到其他物理机器,您的 Zookeeper quorum 也会保留。

    在 Zookeeper 3.5 上通过动态重新配置 http://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html 更容易做到这一点。我不确定 Storm 是否会在 Zookeeper 3.5 上运行,但您可以考虑在扩大/缩小集群之前调查是否可以升级到 3.5。

    否则,您将不得不滚动重启以添加新的 Zookeeper 节点,然后在集群稳定后再次执行以移除旧机器。

    【讨论】:

    • 感谢您的反馈!我不确定这是否可行,因为我实际上想从一个特定的 Zookeeper 集群转移到一个完全不同的仲裁,而不仅仅是从一组特定的虚拟机/物理机。
    【解决方案2】:

    让我在这里建议一个 hack。这是 microsoft 提供的用于在 HD Insight 群集上迁移的脚本,但您可以更改它并根据需要使用它。

    脚本可以从https://github.com/hdinsight/hdinsight-storm-examples/tree/master/tools/zkdatatool-1.0 下载,您可以在此处阅读更多信息: https://blogs.msdn.microsoft.com/azuredatalake/2017/02/24/restarting-storm-eventhub/

    我过去在 PaaS 集群之间迁移一些东西时使用过它,我可以确认它可以正常工作!

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 2018-07-19
      • 2018-11-02
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2020-11-16
      • 2015-10-29
      • 1970-01-01
      相关资源
      最近更新 更多