apache—将(storm+nimbus)集群迁移到新的zookeeper,而不会丢失信息或停机

q9yhzks0  于 2021-06-24  发布在  Storm
关注(0)|答案(2)|浏览(290)

我有一个使用zookeeper的nimbus+storm集群,我希望移动集群并将其指向一个新的zookeeper。你知道这是否可行吗?我能保留旧Zookeeper的所有信息并保存在新的里面吗?有没有可能做到不停机?
我在网上查过这个程序,但没找到多少。
它会像在两个主机中更改storm.yml文件一样简单。和工作节点?之后需要重新启动吗?


# storm.zookeeper.servers:

# - "server1"

# - "server2"
vuv7lop3

vuv7lop31#

让我建议一个黑客在这里。这是微软为hdinsight集群上的迁移提供的一个脚本,但您可以更改它并根据需要使用它。
脚本可从以下位置下载: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集群之间迁移一些东西时使用过它,我可以确认它可以正常工作!

jei2mxaa

jei2mxaa2#

如果您只是更改storm.yml,您将把storm指向一个新的空zookeeper集群,这就像您刚刚从头安装了storm一样。更可能的情况是,您希望扩展zookeeper集群以包含新机器,然后更新storm.yml以指向新机器,然后收缩集群以排除要移动的机器。这样,即使您已移动到其他物理机器,zookeeper仲裁也会得到保留。
在zookeeper 3.5上使用动态重新配置更容易做到这一点http://zookeeper.apache.org/doc/r3.5.5/zookeeperreconfig.html. 我不确定storm是否会在zookeeper 3.5上运行,但您可以考虑在扩展/缩小集群之前,先研究是否可以升级到3.5。
否则,您将不得不执行滚动重新启动来添加新的zookeeper节点,然后在集群稳定后执行另一个操作来删除旧机器。

相关问题