14.7. 重新平衡性能调整概述
您可以为集群重新平衡调整几个性能调优选项。这些选项控制如何执行重新平衡中的分区副本和领导移动,以及分配给重新平衡操作的带宽。
分区重新分配命令
优化的 提议由单独的分区重新分配命令组成。当您启动建议时,Cruise Control 服务器会将这些命令应用到 Kafka 集群。
分区重新分配命令由以下一种操作组成:
分区移动 :传输分区副本及其数据到新位置。分区移动可以采用以下两种形式之一:
- inter-broker move:分区副本被移到不同代理上的日志目录中。
- intra-broker 移动:分区副本被移到同一代理的不同日志目录中。
- 领导移动 :切换分区副本的领导者。
将控制问题分区重新分配给批处理中的 Kafka 集群。重新平衡期间集群的性能会受到每个批处理中包含的每种移动次数的影响。
要配置分区重新分配命令,请参阅 Rebalance 调整选项。
副本移动策略
集群重新平衡性能也会受到 副本移动策略 影响,该策略应用于分区重新分配命令的批处理。默认情况下,Cruise Control 使用 BaseReplicaMovementStrategy,它按照生成的顺序应用命令。但是,如果提议的早期有一些非常大的分区重新分配,则此策略可能会减慢其他重新分配的应用程序。
Cruise Control 提供了三个备用副本移动策略,可用于优化提议:
-
PrioritizeSmallReplicaMovementStrategy: Order rements in ascending size. -
PrioritizeLargeReplicaMovementStrategy: Order 重新分配以降序为单位。 -
PostponeUrpReplicaMovementStrategy: 优先考虑为没有处于不同步状态的分区的服务的重新分配。
这些策略可以配置为序列。第一个策略尝试使用其内部逻辑比较两个分区重新分配。如果重新分配等同于,那么它将按顺序传递给下一个策略,以确定顺序等。
要配置副本移动策略,请参阅 Rebalance 调整选项。
重新平衡调整选项
Cruise Control 提供了几个用于调优重新平衡参数的配置选项。这些选项通过以下方法设置:
-
作为属性,在
cruisecontrol.properties文件中,在默认 Cruise Control 配置中 -
作为对
/rebalance端点的 POST 请求中的参数
下表总结了这两种方法的相关配置。
| Cruise Control 属性 | KafkaRebalance 参数 | 默认 | 描述 |
|---|---|---|---|
|
|
| 5 | 每个分区重新分配批量的最大代理分区移动数 |
|
|
| 2 | 每个分区重新分配批量的最大内代理分区移动数 |
|
|
| 1000 | 每个分区重新分配批量的分区领导更改的最大数量 |
|
|
| null (无限制) | 分配给分区的带宽(以字节/秒为单位) |
|
|
|
|
用于决定为生成的提议执行分区重新分配命令的顺序(优先级顺序)的列表。有三个策略: |
更改默认设置会影响重新平衡完成所需的时间,并在重新平衡期间在 Kafka 集群上放置负载。使用较低值可减少负载,但会增加所需的时间,反之亦然。