自动更改kafka主题分区负责人

Lip*_*Lip 4 apache-kafka

我的Kafka集群有问题。我有3个代理,因此,例如,当我停止代理1时,具有领导者1的每个主题分区都将使用副本配置中的seconde代理来更改其领导者。因此,这是良好的行为,并且效果很好。

但是,当我重新启动代理1时,我需要执行:

./kafka-preferred-replica-election.sh --zookeeper myHost

因为当前的领导者是另一个副本。

所以我的问题是:有一种方法可以配置Kafka自动执行它?

谢谢

Mic*_*son 6

我假设您的默认(所有经纪人都在运行时)分配是均衡的,并且首选领导者平均分配。

是的,当代理重新启动时,Kafka可以自动重新选择所有分区的首选领导者。默认情况下实际上已启用此功能,请参见auto.leader.rebalance.enable

重新启动代理后,Kafka可以开始leader.imbalance.check.interval.seconds触发重新选举。默认为5分钟。因此,也许您只是没有等待足够长的时间!

leader.imbalance.per.broker.percentage定义了允许的非首选领导者所占的百分比。默认为10%。

有关这些配置的完整详细信息,请参阅Kafka网站上的broker config部分