【问题标题】:How to create multiple Kafka clusters on same L2 network?如何在同一个 L2 网络上创建多个 Kafka 集群?
【发布时间】:2020-03-14 00:03:17
【问题描述】:

我在同一个 L2 网络上有 12 个 Kafka 节点。

我想在同一个 L2 网络上创建 4 个 Kafka 集群(每个集群有 3 个节点)。

是否有可能做到这一点以及如何做到这一点? 如果不是,那么解决方法是什么?

【问题讨论】:

    标签: java apache-kafka apache-zookeeper


    【解决方案1】:

    Kafka 集群基本上由其成员使用的 Zookeeper 数据模型定义。所以,如果你想让一些代理属于给定的集群,你必须让它们指向同一个 Zookeeper 命名空间。实际上,如果您想拥有 4 个集群,那么您将需要在 Zookeeper ensemble 中使用 4 个不同的 chroot,并使每个集群使用不同的。例如,集群 A 的成员将使用 zookeeper.connect=127.0.0.1:2181/cluster/a,集群 B 的成员将使用 zookeeper.connect=127.0.0.1:2181/cluster /b 等等。当然,另一种选择是为每个集群使用完全分离的 Zookeeper ensemble。

    来自ZooKeeper Programmer's Guide

    一个可选的“chroot”后缀也可以附加到连接上 细绳。这将在解释所有路径时运行客户端命令 相对于这个根目录(类似于 unix chroot 命令)。如果使用 该示例如下所示:“127.0.0.1:4545/app/a”或 “127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a”在哪里客户端 将植根于“/app/a”,所有路径都与此相关 root - 即获取/设置/等...“/foo/bar”将导致操作 在“/app/a/foo/bar”上运行(从服务器的角度来看)。这个 该功能在多租户环境中特别有用,其中每个 特定 ZooKeeper 服务的用户的 root 可能不同。 这使得重用变得更加简单,因为每个用户都可以编写他/她的代码 应用程序就好像它植根于“/”,而实际位置(比如 /app/a) 可以在部署时确定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 2023-03-06
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 2021-06-26
      相关资源
      最近更新 更多