将(风暴+雨云)群集迁移到新的Zookeeper,而不会丢失信息或造成停机

时间:2019-09-18 15:44:24

标签: apache apache-zookeeper apache-storm

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

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

就像在master上更改storm.yml文件一样简单。和工人节点?之后我需要重启吗?

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

2 个答案:

答案 0 :(得分:0)

如果仅更改storm.yml,则将Storm指向一个新的空Zookeeper群集,就好像您刚刚从头安装Storm一样。您更有可能希望使Zookeeper群集增长为包括新计算机,然后更新storm.yml以指向新计算机,然后收缩群集以排除要从中移出的计算机。这样,即使您已移至其他物理计算机,您的Zookeeper仲裁也将得以保留。

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

否则,您将必须进行滚动重启以添加新的Zookeeper节点,然后在群集稳定后再执行一次以删除旧计算机。

答案 1 :(得分:0)

让我建议在这里进行入侵。这是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集群之间迁移某些东西时,我已经使用了它,并且我可以确认它可以正常工作!