gpt4 book ai didi

apache-kafka - transaction.state.log.min.isr 到底是什么意思?

转载 作者:行者123 更新时间:2023-12-04 01:05:56 27 4
gpt4 key购买 nike

在所有情况下,如果任何一个 Kafka 代理启动并运行我的生产者和消费者都应该正常运行。
server.properties里面的参数下面是集群的高可用性。

transaction.state.log.min.isr=2
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
  • 如果所有 3 个 Kafka 代理(K1、K2 和 K3)都启动,则集群运行良好。
  • 如果 K1 和 K2 代理出现故障并且只有 K3 处于运行状态,则集群运行良好。
  • 如果所有服务器都关闭而我们启动 K1 Broker,集群将停止接收消息,消费者也会停止。

  • 如果我遗漏了什么,请告诉我,如果我设置了 transaction.state.log.min.isr=3 ?

    提前致谢。

    最佳答案

    什么 transaction.state.log.min.isr是覆盖 min.insync.replicas交易主题的配置 - __transaction_state .
    基本上它控制这个主题的最小 ISR。在你提到的场景中——

    If K1 and K2 brokers goes down and only K3 is up then cluster runs fine.


    集群将无法正常工作,您将无法向该集群生产。生产者将筹集 NotEnoughReplicas异常(exception)。
    发生这种情况是因为您没有满足您所做的配置。
    例如,您在名为 mycooltopic 的主题上使用复制因子 3。 ,并且您的经纪人设置为 min.insync.replicas 2.
    当生产到 mycooltopic (使用 acks=all/-1 ),您将需要至少有 2 个副本,这些副本必须在将写入视为成功写入之前确认写入。
    因此,如果要更改 min.insync.replicas到 3 - 您需要向集群添加更多代理。
    您可以在 Confluent 博客中阅读有关 Kafka 复制的更多信息 - Hands-free Kafka Replication ,并查看 official documentation (跳转到 min.insync.replicas )。

    关于apache-kafka - transaction.state.log.min.isr 到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888050/

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