Apache kafka 如何配置kafka群集在停止和重新启动代理后重新选择分区领导者所需的时间?
我有以下设置:Apache kafka 如何配置kafka群集在停止和重新启动代理后重新选择分区领导者所需的时间?,apache-kafka,apache-zookeeper,Apache Kafka,Apache Zookeeper,我有以下设置: 3名卡夫卡经纪人和3名动物园管理员 1个主题,包含12个分区和3个副本(因此每个kafka代理是4个分区的领导者) 我停止其中一个代理—它从集群中移除,其分区的领导权转移到剩下的两个代理 我重新启动代理—它在集群中重新出现,最终领导层得到重新平衡,因此每个代理都是4个分区的领导层 它工作正常,但我发现重新平衡之前花费的时间太长(比如几分钟)。这种情况在空载情况下发生-不向集群发送任何消息,也不使用任何消息 卡夫卡版本0.9.0.0,zookeeper 3.4.6 时间=2000
3名卡夫卡经纪人和3名动物园管理员 1个主题,包含12个分区和3个副本(因此每个kafka代理是4个分区的领导者)
我停止其中一个代理—它从集群中移除,其分区的领导权转移到剩下的两个代理 我重新启动代理—它在集群中重新出现,最终领导层得到重新平衡,因此每个代理都是4个分区的领导层 它工作正常,但我发现重新平衡之前花费的时间太长(比如几分钟)。这种情况在空载情况下发生-不向集群发送任何消息,也不使用任何消息 卡夫卡版本0.9.0.0,zookeeper 3.4.6 时间=2000 卡夫卡zookeeper.connection.timeout.ms=6000 (基本上是默认配置)
有人知道kafka和/或zookeeper中的哪些配置参数会影响领导者平衡所需的时间吗?如官方文档中所述(有关代理配置的更多详细信息,请参见scala类kafka.server.kafkanconfig。)
实际上有一个
leader.disbalance.check.interval.seconds
属性,默认值为300(5分钟),将其设置为30秒可以满足我的需要。是auto.leader.rebalance.enable=true set?是的,-默认值为true,重新平衡工作正常,只是需要比我想要的更多的时间。。