我有以下设置:
3名 Kafka 经纪人和3名动物园管理员
1个主题,包含12个分区和3个副本(因此每个kafka代理是4个分区的领导者)
我停止其中一个经纪人 - 它从集群中删除,其分区的领导权移动到剩下的两个经纪人
我重新启动代理 - 它再次出现在集群中,最终领导层得到重新 balancer ,因此每个代理都是4个分区的领导者 .
它工作正常,除了我发现在重新 balancer 之前花费的时间太长(如分钟) . 这在无负载情况下发生 - 没有消息发送到集群,也不消耗任何消息 .
Kafka版本0.9.0.0,zookeeper 3.4.6
zookeeper tickTime = 2000
kafka zookeeper.connection.timeout.ms = 6000
(基本上是默认配置)
有谁知道kafka和/或zookeeper中的配置参数会影响领导者拉平的时间吗?
1 回答
正如官方文档中所述http://kafka.apache.org/documentation.html#configuration(关于代理配置的更多细节可以在scala类kafka.server.KafkaConfig中找到 . )实际上有一个
leader.imbalance.check.interval.seconds
属性,默认为300(5分钟),将其设置为30秒,我做了什么需要 .