如何将Kafka从旧的Zookeeper集群迁移到具有不同znode父路径的新Zookeeper集群

时间:2017-01-25 17:53:11

标签: apache-kafka apache-zookeeper

我在一个单独的三节点Zookeeper集群上运行一个三节点Kafka集群。我打算切换Kafka使用一个新的五节点Zookeeper集群,虽然我已经找到了关于这样做的信息,但我还有一个额外的皱纹,Kafka将在新集群上使用自定义znode父路径。

例如,我当前的Kafka Zookeeper字符串看起来像这样:

192.0.2.11:2181,192.0.2.12:2181,192.0.2.13:2181

我希望将其切换为:

192.0.2.21:2181,192.0.2.22:2181,192.0.2.23:2181,192.0.2.24:2181,192.0.2.25:2181/kafka/uid1

原因是我们打算为其他Kafka集群重用较大的Zookeeper集群。别担心,这是用于测试而非生产。但是,我们仍然希望这样做而不会丢失进入Kafka的流上的任何数据,因此我们希望不做任何事情就这样做。

这可能吗?

我遇到了以下问题:

不幸的是,它们似乎需要一些停机时间,我希望避免这种情况。

这个页面(https://qgraph.io/blog/migrating-kafka-zookeeper-cluster/)在翻转方面更有帮助,但在znode迁移方面却没有。

我一直在寻找' znode符号链接'或者' 为每个zookeeper服务器指定znode路径'但似乎都不可能。我运气不好,需要停机时间,可能会丢失数据吗?

1 个答案:

答案 0 :(得分:0)

据我所知,没有重启Kafka就无法移动Kafka的父znode。 znode没有硬链接或软链接:https://www.igvita.com/2010/04/30/distributed-coordination-with-zookeeper/