我在一个单独的三节点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路径'但似乎都不可能。我运气不好,需要停机时间,可能会丢失数据吗?
答案 0 :(得分:0)
据我所知,没有重启Kafka就无法移动Kafka的父znode。 znode没有硬链接或软链接:https://www.igvita.com/2010/04/30/distributed-coordination-with-zookeeper/