【问题标题】:How to configure the time it takes for a kafka cluster to re-elect partition leaders after stopping and restarting a broker?如何配置kafka集群在停止和重启broker后重新选举partition leader的时间?
【发布时间】:2016-05-11 15:52:28
【问题描述】:

我有以下设置:
3 个 kafka 经纪人和 3 个 zookeeper 合奏
1 个主题,12 个分区和 3 个副本(每个 kafka 代理因此是 4 个分区的领导者)

我停止了其中一个代理 - 它从集群中移除,其分区的领导权转移到剩余的两个代理

我重新启动代理 - 它重新出现在集群中,最终领导权得到重新平衡,因此每个代理都是 4 个分区的领导者。

它工作正常,除了我发现重新平衡之前花费的时间太长(比如几分钟)。这发生在无负载下 - 没有消息发送到集群,没有消息被消费。

Kafka 版本 0.9.0.0,zookeeper 3.4.6

动物园管理员 tickTime = 2000

kafka zookeeper.connection.timeout.ms = 6000

(基本上是默认配置)

有谁知道 kafka 和/或 zookeeper 中的哪些配置参数会影响领导者 rabalancing 所花费的时间?

【问题讨论】:

  • 是否设置了 auto.leader.rebalance.enable=true?
  • 是的,默认情况下是这样,并且重新平衡工作正常,只是需要的时间比我想要的要多..

标签: apache-kafka apache-zookeeper


【解决方案1】:

正如官方文档http://kafka.apache.org/documentation.html#configuration 中所说(有关代理配置的更多详细信息可以在scala 类kafka.server.KafkaConfig 中找到。) 实际上有一个 leader.imbalance.check.interval.seconds 属性默认为 300(5 分钟),将其设置为 30 秒即可满足我的需要。

【讨论】:

    猜你喜欢
    • 2020-06-02
    • 2017-05-11
    • 1970-01-01
    • 2023-02-01
    • 2013-06-24
    • 2022-08-22
    • 2019-12-06
    • 2019-03-30
    • 2018-11-17
    相关资源
    最近更新 更多