14.7. 重新平衡性能调整概述


您可以为集群重新平衡调整几个性能调优选项。这些选项控制如何执行重新平衡中的分区副本和领导移动,以及分配给重新平衡操作的带宽。

分区重新分配命令

优化 部分由独立分区重新分配命令组成。当您启动建议时,Cruise Control 服务器会将这些命令应用到 Kafka 集群。

分区重新分配命令由以下一种操作组成:

  • 分区移动 :将分区副本及其数据传输到新位置。分区移动可以采用两种形式之一:

    • inter-broker 移动:分区副本移到不同代理中的日志目录中。
    • intra-broker 移动:分区副本移动到同一代理的不同日志目录中。
  • 领导移动:切换分区副本的领导层

Cruise Control issues 分区在批处理中向 Kafka 集群重新分配命令。在重新平衡期间集群的性能受到每个批处理中包含的各种移动数量的影响。

要配置分区重新分配命令,请参阅 重新平衡调整选项

副本移动策略

集群重新平衡性能也受到应用于分区重新分配命令批量 的副本移动策略 的影响。默认情况下,Cruise Control 使用 BaseReplicaMovementStrategy,它按照它们生成的顺序应用命令。但是,如果提议的早期有一些非常大的分区重新分配,则此策略可能会减慢其他重新分配的应用程序。

Cruise Control 提供三种替代副本移动策略,可用于优化建议:

  • PrioritizeSmallReplicaMovementStrategy :顺序重新分配,以升序大小。
  • PrioritizeLargeReplicaMovementStrategy :顺序重新分配,以降序为单位。
  • PostponeUrpReplicaMovementStrategy: 优先考虑为没有处于不同步状态的分区的服务的重新分配。

这些策略可以配置为序列。第一个策略尝试使用其内部逻辑比较两个分区重新分配。如果重新分配等同于,那么它将按顺序传递给下一个策略,以确定顺序等。

要配置副本移动策略,请参阅 重新平衡调整选项

重新平衡调整选项

Cruise Control 提供多个用于调整重新平衡参数的配置选项。这些选项以以下方式设定:

  • 作为属性,在使用 cruisecontrol.properties 文件中,在默认的 Cruise Control 配置中
  • 作为 POST 请求中的参数到 /rebalance 端点

下表总结了这两种方法的相关配置。

Expand
表 14.4. 重新平衡性能调整配置
Cruise Control 属性KafkaRebalance 参数默认描述

num.concurrent.partition.movements.per.broker

concurrent_partition_movements_per_broker

5

每个分区重新分配批次中的 openshift-broker 分区移动的最大数量

num.concurrent.intra.broker.partition.movements

concurrent_intra_broker_partition_movements

2

每个分区重新分配批处理中的最大 in-broker 分区移动数

num.concurrent.leader.movements

concurrent_leader_movements

1000

每个分区重新分配批处理中的最大分区领导更改数

default.replication.throttle

replication_throttle

null(无限制)

分配给分区重新分配的带宽(以字节为单位)

default.replica.movement.strategies

replica_movement_strategies

BaseReplicaMovementStrategy

用于决定为生成的提议执行分区重新分配命令的顺序(优先级顺序)的列表。有三个策略: PrioritizeSmallReplicaMovementStrategy,PrioritizeLargeReplicaMovementStrategyPostponeUrpReplicaMovementStrategy。对于 server 设置,使用以逗号分隔的、带有策略类完全限定名称(添加 com.linkedin.kafka.cruisecontrol.executor.strategy. strategy)的逗号分隔列表。对于重新平衡参数,请使用副本移动策略的类名称的逗号分隔列表。

更改默认设置会影响重新平衡完成所需的时间,以及在重新平衡期间在 Kafka 集群中放置负载。使用较低值可减少负载,但会增加所需时间,反之亦然。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部