kafka 系列 -- 5.1、分区管理

本文详细介绍了Kafka分区管理的各个方面,包括优先副本选举、分区的自动和手动平衡,以及分区重分配和复制限流。讨论了如何在不同场景下调整和管理Kafka集群的分区,确保数据的高效复制和负载均衡。
摘要由CSDN通过智能技术生成

优先副本的选举

当我们输入以下命令,

kafka-topics.sh  --zookeeper zookeeper:2181  --describe  --topic test4

查看主题详情时,会展示如下信息

在这里插入图片描述

其中 Replicas 就是 AR

现,我们将 brokerId 2 的机器重启,kafka 会从 Isr 副本中选出一个新的节点作为 leader, brokerId 为 2 的机器重启后,只能作为 follower
在这里插入图片描述

从上图,可以看到,Partition 1 选出了新的 Leader 3,从而导致,brokerId 3 负载较高。

为此,kafka 引进 优先副本概念
优先副本为 Replicas 列表中的第一个节点。对于 Partition 1 来说就是 brokerId 2 的节点。也就是说,Paritition 1 按理 Leader 应该为 2,而非 3。

分区自动平衡

kafka 可在 broker 端,通过 auto.leader.rebalance.enable 控制是否开启分区自动平衡,该参数默认为 true,即默认开启。
如果开启分区自动平衡,kafka 会定时轮询所有的 broker 节点,计算每个 broker 节点分区不平衡率(不平衡的 leader 数 / 分区总数 )是否超过 leader.imbalance.per.broker.percentage 参数配置的比例,默认为 10%。如果超过,则自动执行分区平衡。其中,定时轮询任务的执行周期默认为 300秒,由参数 leader.imbalance.check.interval.seconds

这里不建议在线上开启分区自动化平衡

分区手动平衡

kafka 中提供 kafka-preferred-replica-election.sh 脚本对 leader 分区重新平衡。

在这里,我们需要对 主题 test4 中的 partition 1 进行重分配

  1. 创建 test4_election.json 文件(文件自己命名)
{
   
  "partitions": [
     {
   
       "partition": 1,
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值