正常情况下,kafka 本身会自动把Leader Parition 均匀分布在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某些borker 宕机了,会导致Leader Partition 过于集中在其他少部分几台broker上,这会导致少数borker的读写请求压力过高,其他宕机的Borker 重启之后都是Follwer Partition,读写请求底,造成集群负载不均衡。
- auto.leader.rebablance.enable,默认是true.
自动 leader partition平衡 - leader.imlalance.per.broker.percentage, 默认是10%,每个broker允许的不平衡的leader的比率。如果每个broker超过这个值,控制器会触发leader 平衡。
- leader.imbalance.check.interval.senconds,默认值300s,检查leader 负载是否均衡的间隔时间。
建议不要开启,自动 leaader partition平衡需要 耗费大量的时间。