第 18 章 使用 Cruise Control 重新平衡集群


Cruise Control 是一个开源系统,支持以下 Kafka 操作:

  • 监控集群工作负载
  • 根据预定义的约束重新平衡集群

此操作可帮助运行更有效地使用代理 pod 的 Kafka 集群。

典型的集群可能会随着时间不均匀地加载。处理大量消息流量的分区可能无法在可用的代理中平均分布。要重新平衡集群,管理员必须监控代理上的负载,并将忙碌的分区手动分配给具有备用容量的代理。

Cruise Control 自动执行集群重新平衡过程。它基于 CPU、磁盘和网络负载(您可以批准或拒绝)为集群构建资源利用率 的工作负载模型。一组可配置的优化目标用于计算这些提议。

您可以在特定模式中生成优化方案。默认 full 模式在所有代理间重新平衡分区。您还可以使用 add-brokersremove-brokers 模式来适应扩展集群或缩减时的更改。

当您批准一个优化建议时,Cruise Control 会将它应用到您的 Kafka 集群。您可以使用 KafkaRebalance 资源配置和生成优化建议。您可以使用注解配置资源,以便自动或手动批准优化提议。

注意

18.1. Cruise Control 组件和功能

Cruise Control 包括四个主要组件 - Load Monitor、Anomaly Detector 和 Executor-​ 以及用于客户端交互的 REST API。AMQ Streams 使用 REST API 来支持以下 Cruise Control 功能:

  • 从优化目标生成优化建议。
  • 根据优化提议,重新平衡 Kafka 集群。
优化目标

优化目标描述了从重新平衡实现的特定目标。例如,目标是更加均匀地在代理间分发主题副本。您可以更改要通过配置包含哪些目标。目标定义为一个硬目标或软目标。您可以通过 Cruise Control 部署配置添加硬目标。您还有特定于这些类别的主要、默认和用户提供的目标。

  • 目标是预先设置的,必须满足优化建议才能成功。
  • 不需要满足软 目标 才能成功进行优化建议。如果达到所有硬目标,则可以设置它们。
  • 主要目标从 Cruise Control 中继承。有些是预先设置为硬目标。默认情况下,主目标用于优化提议。
  • 默认目标 与主要目标相同。您可以指定您自己的一组默认目标。
  • 用户提供的目标是 配置用于生成特定优化建议的默认目标子集。
优化提议

优化建议由您要从重新平衡实现的目标组成。您可以生成一个优化建议,以创建提议的更改概述以及重新平衡的结果。目标按照特定优先级顺序进行评估。然后您可以选择批准或拒绝提议。您可以拒绝使用调整的目标集合再次运行它。

您可以使用三种模式之一生成优化提议。

  • full 是默认模式,运行完全重新平衡。
  • add-brokers 是扩展 Kafka 集群时添加代理时使用的模式。
  • remove-brokers 是您在缩减 Kafka 集群时删除代理前使用的模式。

目前还不支持其他 Cruise Control 功能,包括自我修复、通知、编写目标以及更改主题复制因素。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat