Apache Kafka 配置中“leader.imbalance.per.broker.percentage”的含义

big*_*nty 1 apache-kafka

浏览卡夫卡文档,我发现了这个特殊的配置。leader.imbalance.per.broker.percentage

直觉上是什么leader.imbalance.per.broker.percentage意思?我怎样才能模拟这个配置的工作?

Type:   int
Default:    10
Valid Values:   
Importance: high
Update Mode:    read-only
Run Code Online (Sandbox Code Playgroud)

为什么这个值是10默认值?

Mic*_*son 6

leader.imbalance.per.broker.percentage定义允许的非首选领导者的百分比。如果代理上的比率超过此值(且auto.leader.rebalance.enable属实),Kafka 会自动将这些分区的领导权转移到首选领导者上。

如果一个分区有多个副本,则其中任何一个都可以成为领导者,但总有一个首选副本。首选领导者是副本列表中第一个列出的副本。例如,在下面的 Broker 0 中是首选领导者:

Topic:test    PartitionCount:3    ReplicationFactor:3     Configs:
    Topic: test    Partition: 0    Leader: 0    Replicas: 0,2,1    Isr: 0,2,1
Run Code Online (Sandbox Code Playgroud)

默认情况下,此设置设置为 10,因此 Kafka 允许最多 10% 的领导者位于非首选副本上,然后再重新选举首选副本。