为 wurstmeister/kafka docker 图像定义 Zookeeper znode

Define Zookeeper znode for wurstmeister/kafka docker image

我想在另一个 znode 而不是 root 上设置 kafka znode。 例如 kafka 的默认 znode 是:

/admin
/brokers
/cluster
/config

但我想重组它们并将它们移动到 kafka znode

/kafka/admin
/kafka/brokers
/kafka/cluster
/kafka/config

是否有 属性 用于 docker-compose 以具有默认的 zookeeper znode?

谢谢

我查看了 ZooKeeper 客户端中的一些逻辑,发现这实际上是可能的。只是没有记录!

您可以在 zookeeper.connect 设置中指定一个 chroot。例如:

zookeeper.connect=ZK_HOST:2181/somepath

Kafka 只会在 ZooKeeper 的 /somepath 下写入

我打开了一个 PR 在文档中提到它:https://github.com/apache/kafka/pull/5358


原答案:

我认为这不可能。 Zookeeper 路径在 Kafka 中是硬编码的,我不知道使用配置在它们前面添加的方法。

也就是说,这听起来像是一个合理的要求,因此您可以尝试让 Kafka 支持它。由于它会引入新的配置,因此您需要创建一个 KIP:https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals