Kafka3.0.0版本——Leader Partition自动平衡

目录

    • 一、Leader Partition自动平衡的概述
    • 二、Leader Partition自动平衡的相关配置参数
    • 三、Leader Partition自动平衡的示例

一、Leader Partition自动平衡的概述

  • 正常情况下,Kafka本身会自动把Leader Partition均匀分散在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是follower partition,读写请求很低,造成集群负载不均衡
    Kafka3.0.0版本——Leader Partition自动平衡_第1张图片

二、Leader Partition自动平衡的相关配置参数

  • 配置参数

    参数名称 描述
    auto.leader.rebalance.enable 默认是 true,自动 Leader Partition 平衡生产环境中,leader 重选举的代价比较大,可能会带来性能影响,建议设置为 false 关闭
    leader.imbalance.per.broker.percentage 默认是 10%。每个 broker 允许的不平衡的 leader的比率。如果每个 broker 超过了这个值,控制器会触发 leader的平衡。
    leader.imbalance.check.interval.seconds 默认值 300 秒。检查 leader 负载是否平衡的间隔时间

三、Leader Partition自动平衡的示例

  • 假设集群只有一个onetopic主题。如下图所示
    在这里插入图片描述
  • 如下图所示:针对第一个节点,分区的AR优先副本是3节点,但是3节点却不是Leader节点,所以不平衡数加1,AR副本总数是4。所以broker0节点不平衡率为1/4>10%,需要再平衡。
    Kafka3.0.0版本——Leader Partition自动平衡_第2张图片
  • 如下图所示:第三个节点和第四个节点节点与第一个节点不平衡率一样,需要再平衡。第二个节点的不平衡数为1,不需要再平衡。
    Kafka3.0.0版本——Leader Partition自动平衡_第3张图片

你可能感兴趣的:(kafka,kafka)