1. Leader Partition自动平衡
正常情况下,Kafka本身会自动把Leader Partition均匀分散在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是follower partition,读写请求很低,造成集群负载不均衡。
- auto.leader.rebalance.enable,默认是true。自动Leader Partition 平衡
- leader.imbalance.per.broker.percentage,默认是10%。每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值,控制器会触发leader的平衡。
- leader.imbalance.check.interval.seconds,默认值300秒。检查leader负载是否平衡的间隔时间。
Tips📢:建议不开启自动平衡,浪费Kafka性能;即使开启,percentage的值调整大一些,避免频繁更新Leader。