我的Kafka群集存在问题。 我有3个代理,所以当我停止代理1(例如)时,每个主题分区与领导者1在副本配置中使用seconde代理更改其领导者。 所以这是一个好的行为,它运作良好。
但是当我重新启动代理1时,我需要执行:
line='<7;8,9><8;7,4><7;a,z>'
因为当前的领导者是另一个副本。
所以我的问题是: 有一种方法可以配置Kafka自动执行吗?
thx
答案 0 :(得分:4)
我假设您的默认值(当所有经纪人都在运行时)分配是均衡的,并且首选领导者是均匀分布的。
是的,当重新启动代理时,Kafka可以自动重新选择所有分区的首选领导者。这实际上是默认启用的,请参阅auto.leader.rebalance.enable
。
重启经纪人后,Kafka最多可以leader.imbalance.check.interval.seconds
触发重选。默认为5分钟。所以也许你没等多久!
还有leader.imbalance.per.broker.percentage
定义了允许的非首选领导者的百分比。默认为10%。
有关这些配置的完整详细信息,请参阅Kafka网站上的broker config section。