Kafka topic Leader的自动负载均衡

本文介绍了Kafka中如何通过配置auto.leader.rebalance.enable实现topic Leader的自动负载均衡,以及使用kafka-preferred-replica-election命令进行手动 Leader 重新选举,确保集群负载均衡。详细阐述了命令的用法,包括全量和针对特定topic的选举过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、生产环境下

可通过配置auto.leader.rebalance.enable=true实现topic Leader的自动负载均衡

2、kafka-preferred-replica-election


在创建一个topic时,kafka尽量将partition均分在所有的brokers上,并且将replicas也均分在不同的broker上。

每个partitiion的所有replicas叫做"assigned replicas","assigned replicas"中的第一个replicas叫"preferred replica",刚创建的topic一般"preferred replica"是leader。leader replica负责所有的读写。

但随着时间推移,broker可能会停机,会导致leader迁移,导致机群的负载不均衡。我们期望对topic的leader进行重新负载均衡,让partition选择"preferred replica"做为leader。
 

kafka-preferred-replica-election命令便是用于对Leader进行重新负载均衡
 

3、kafka-preferred-replica-election用法

用法1: 触发对所有的topic Leader进行负载均衡

kafka-preferred-replica-election --zookeeper zk:2181

2、针对某个topic

bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181 --path-to-json-file topicPartitionList.json

topicPartitionList.json:

{"partitions":[{"topic":"topic","partition": 0},{"topic":"topic","partition": 1},{"topic":"topic","partition": 2},{"topic":"topic","partition": 3},{"topic":"topic","partition": 4},{"topic":"topic","partition": 5},{"topic":"topic","partition": 6},{"topic":"topic","partition": 7}]}
 

3、新版本

./kafka-leader-election.sh --bootstrap-server ... --topic ... --election-type PREFERRED --partition 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值