【问题标题】:multiple kafka clusters on single zookeeper ensemble单个 zookeeper 集合上的多个 kafka 集群
【发布时间】:2019-10-24 13:30:29
【问题描述】:

我目前有一个 3 节点的 Kafka 集群,它连接到我的 zookeeper ensemble 中的基本 chroot 路径。

zookeeper.connect=172.12.32.123:2181,172.11.43.211:2181,172.18.32.131:2181

现在,我想添加一个新的 5 节点 Kafka 集群,它将连接到同一个 zookeeper ensemble 中的其他一些 chroot 路径。

zookeeper.connect=172.12.32.123:2181,172.11.43.211:2181,172.18.32.131:2181/cluster/2

这些配置会像在两个 chroot 的相对路径中一样工作吗?我知道原始的 Kafka 集群应该连接在基本 chroot 路径以外的其他路径上,以便更好地隔离。

另外,在 Kafka 集群中拥有相同的 zookeeper 集合是否很好? documentation 表示,通常最好为不同的集群设置独立的 zookeeper 集合。

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    如果您仅限于单个 Zookeeper 集群,那么它应该可以使用不与其他集群的 znode 冲突的唯一 chroot 正常工作。

    共享不是“好”,不,因为 Zookeeper 失去仲裁会导致两个集群关闭,但同样,如果您的硬件受限,那么它仍然可以工作

    注意:集群中只有 3 个节点的 ZK 服务器只能损失一台,这就是为什么建议使用 5 个集群的原因

    【讨论】:

    • 所以可以说我把 zookeeper.connect 详细信息 serverIP:Port/path 转储到 /path 我为另一个 kafka 集群提供的所有元数据?
    • @ShubhamSaroj 在 Zookeeper 中称为 chroot,但是是的,您可以使用唯一的 chroot 与多个客户端共享同一个 Zookeeper 集群。以 Kafka 为例,每个 broker 必须有相同的 chroot 才能组成集群。
    • ZK的所有IP都提到chroot重要吗?像这样,zookeeper.connect=ip1:port/chroot1, ip2:port/chroot1zookeeper.connect=ip1:port, ip2:port/chroot1 这应该怎么做?
    • @ShubhamSaroj 您尝试其中一个时是否遇到任何错误?我相信这只是第二种格式,但你会想使用 zookeeper-shell 来仔细检查
    • 是的,第二种格式对我有用,并且还通过 zookeeper-shell 进行了验证
    猜你喜欢
    • 2017-11-20
    • 2019-04-12
    • 2019-11-08
    • 2021-06-01
    • 2016-01-25
    • 1970-01-01
    • 2019-02-27
    • 2017-08-31
    • 2018-07-25
    相关资源
    最近更新 更多