gpt4 book ai didi

apache-kafka - 如果 Zookeeper 完全失败会发生什么?

转载 作者:行者123 更新时间:2023-12-04 02:29:08 30 4
gpt4 key购买 nike

我们已经设置了一个由 3 个 Broker 组成的 Kafka/Zookeeper 集群。我们有一个生产者,将消息发送到一个特定的 Kafka 主题和一些从该主题读取的消费者组。这些消费者通过 Zookeeper 为自己(独立于 Kafka)执行领导人选举。

使用的版本是:

  • 卡夫卡:0.9.0.1
  • Zookeeper:3.4.6(包含在 Kafka 包中)

  • 所有流程均由主管管理。到目前为止,一切正常。我们现在尝试(出于测试目的)是简单地终止所有 Zookeeper 进程,然后看看会发生什么。

    正如我们所料,我们的消费者进程无法再连接到 Zookeeper。但出乎意料的是,Kafka Brokers 仍然有效。我们的制作人完全没有提示,仍然能够写进这个话题。虽然我不能使用 kafka/bin/kafka-topics.sh 或类似的,因为它们都需要一个 zookeeper 参数,我仍然可以看到主题日志的实际大小增长。重新启动 zookeeper 进程后,一切都像以前一样工作了。

    我们现在想不通的是……那里到底发生了什么?
    我们认为,Kafka 需要一个有效的 Zookeeper-Connection,我们在网上找不到对这种行为的任何解释。

    最佳答案

    当你有一个zookeeper节点时,broker将无法联系zookeeper,broker发现zookeeper不可达后,broker也会变得不可达。因此,生产者和消费者。
    在生产者的情况下,它开始下降(拒绝记录)。在消费者的情况下,可能会发生这种情况,当代理启动并准备好时,未确认的读取记录可能会再次处理......

    在 3node zk 的情况下,一个节点故障是可以接受的,因为仍然满足法定人数……但无法承受 2node 故障,这将导致上述后果……

    关于apache-kafka - 如果 Zookeeper 完全失败会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37808583/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com