12.6. 优化提议概述


optimization proposal 是要生成一个更加均衡的 Kafka 集群、在代理中平均分配分区工作负载的建议概述。每个优化建议均基于一组用于生成它的 优化目标,受代理资源配置的任何容量限制

所有优化的提议都是对提议重新平衡的影响的估算。您可以批准或拒绝提议。

12.6.1. 批准或拒绝优化建议

优化提议摘要显示了所提议的更改范围。通过 Cruise Control API 对 HTTP 请求返回概述。

当您向 /rebalance 端点发出 POST 请求时,响应中会返回一个优化提议概述。

返回优化提议概述

curl -v -X POST 'cruise-control-server:9090/kafkacruisecontrol/rebalance'
Copy to Clipboard Toggle word wrap

使用摘要决定是否批准或拒绝优化提议。

批准优化提议
您可以通过向 /rebalance 端点发出 POST 请求并将 dryrun 参数设置为 false 来批准优化提议(默认为 true)。Cruise Control 将提议应用到 Kafka 集群,并启动集群重新平衡操作。
拒绝优化方案
如果您选择不批准优化方案,您可以更改优化目标更新任何重新平衡性能调优选项,然后生成另一个提议。您可以在没有 dryrun 参数的情况下重新发送请求,以生成新的优化建议。

使用优化建议来评估重新平衡所需的移动。例如,优化提议描述了 inter-broker 和 intra-broker 移动。inter-broker 重新平衡在独立代理间移动数据。intra-broker 重新平衡可在同一代理上的磁盘之间移动数据。即使您没有提前并批准提议,此类信息也很有用。

提议还会显示迁移到不同代理的分区领导数。这需要对 ZooKeeper 配置进行更改,这对性能有低的影响。

因为在重新平衡时在 Kafka 集群中出现额外的负载,您可能会拒绝优化过程或延迟其批准。分区副本的交集移动对性能有严重影响。如果要移动的数据总量较大,您可以拒绝提议,或者在批准重新平衡来限制对 Kafka 集群性能的影响。

重新平衡性能调优选项有助于降低数据移动的影响。如果可扩展重新平衡周期,您可以将重新平衡分成较小的批处理。一次减少数据移动会减少集群的负载。

Balancedness score 是优化提议被批准前后 Kafka 集群的整体平衡度量。平衡分数基于优化目标。如果满足所有目标,则分数为 100。当一个目标不满足时,分数会降低。比较均衡分数,以查看 Kafka 集群是否低于重新平衡。

优化提议概述属性

下表描述了优化提议中包含的属性。

Expand
表 12.2. 优化提议概述中包含的属性
属性描述

n inter-broker replica (y MB) moves

n :将在独立代理之间移动的分区副本数量。

在重新平衡操作期间影响性能 :高。

y MB :将移动到独立代理的每个分区副本的大小总和。

在重新平衡操作期间影响性能 :变量.集群重新平衡所需的时间越大,完成集群重新平衡所需的时间。

n intra-broker replica (y MB) moves

n :集群代理磁盘之间传输的分区副本数量。

重新平衡操作期间的性能影响 : 高,但少于 inter-broker 副本移动

y MB :将在同一代理的磁盘之间移动的每个分区副本的大小总和。

在重新平衡操作期间影响性能 :变量.集群重新平衡所需的时间越大,完成集群重新平衡所需的时间。在同一代理的磁盘间移动大量数据比独立代理之间的影响较低(请参阅 inter-broker replica moves)。

n 排除主题

优化建议中分区副本/领导移动计算以外的主题数量。

您可以使用以下方法之一排除主题:

cruisecontrol.properties 文件中指定 topics.excluded.from.partition.movement 属性中的正则表达式。

在对 /rebalance 端点的 POST 请求中,在 excluded_topics 参数中指定正则表达式。

与正则表达式匹配的主题列在响应中,并将在集群重新平衡中排除。

N 领导移动

n :其领导要切换到不同副本的分区数量。这涉及更改 ZooKeeper 配置。

在重新平衡操作期间影响性能 :低.

n 最近的窗口

n :优化提议的指标窗口数量。

N% 的分区覆盖

n%: 优化建议涵盖的 Kafka 集群中分区的百分比。

On-demand Balancedness Score Before (nn.yyy) After (nn.yyy)

Kafka 集群的整体平衡的测量。

Cruise Control 根据多个因素(目标在 default.goal 或用户提供的目标列表中,为每一个优化目标分配了一个 Balancedness Score)。按需保证分数的计算方式为:从 100 中减去每个违反的软目标 Balancedness Score 的总和。

Before score 基于 Kafka 集群的当前配置。After 分数基于生成的优化提议。

缓存的优化方案

Cruise Control 根据配置的默认优化目标维护缓存的优化建议。从工作负载模型生成,缓存的优化方案每 15 分钟更新一次,以反映 Kafka 集群的当前状态。

当使用以下目标配置时,返回最新缓存的优化方案:

  • 默认优化目标
  • 用户提供的优化目标,可在当前缓存的提议中满足

要更改缓存的优化提议刷新间隔,请编辑 cruisecontrol.properties 文件中的 proposal.expiration.ms 设置。考虑快速更改集群的间隔较短,尽管这会在 Cruise Control 服务器上增加负载。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat