12.8. Cruise Control 配置


config/cruisecontrol.properties 文件包含 Cruise Control 的配置。该文件由以下类型之一属性组成:

  • 字符串
  • Number
  • 布尔值

您可以指定并配置 Cruise Control Wiki 的 Configurations 部分中列出的所有属性。

容量配置

Cruise Control 使用 容量限制 来确定某些基于资源的优化目标是否被破坏。如果将一个或多个基于资源的目标设置为硬目标,则尝试优化会失败,然后中断。这可防止优化用于生成优化建议。

您可以在 cruise-control/config 中的以下三个 .json 文件中为 Kafka 代理资源指定容量限制:

  • capacityJBOD.json :用于 JBOD Kafka 部署(默认文件)。
  • capacity.json: 用于非JBOD Kafka 部署,每个代理都有相同的 CPU 内核数。
  • capacityCores.json: 用于在每个代理都有不同 CPU 内核数的非JBOD Kafka 部署中使用。

cruisecontrol.properties 中的 capacity.config.file 属性中设置文件。所选文件将用于代理容量解析。例如:

capacity.config.file=config/capacityJBOD.json
Copy to Clipboard Toggle word wrap

可以在上述单元中为以下代理资源设置容量限制:

  • DISK :以 MB 为单位的磁盘存储
  • CPU: CPU 使用率为百分比(0-100)或内核数
  • NW_IN :入站网络吞吐量(KB 每秒)
  • NW_OUT :出站网络吞吐量(KB 每秒)

要将相同的容量限制应用到由 Cruise Control 监控的每个代理,请为代理 ID -1 设置容量限制。要为单个代理设置不同的容量限制,请指定每个代理 ID 及其容量配置。

容量限制配置示例

{
  "brokerCapacities":[
    {
      "brokerId": "-1",
      "capacity": {
        "DISK": "100000",
        "CPU": "100",
        "NW_IN": "10000",
        "NW_OUT": "10000"
      },
      "doc": "This is the default capacity. Capacity unit used for disk is in MB, cpu is in percentage, network throughput is in KB."
    },
    {
      "brokerId": "0",
      "capacity": {
        "DISK": "500000",
        "CPU": "100",
        "NW_IN": "50000",
        "NW_OUT": "50000"
      },
      "doc": "This overrides the capacity for broker 0."
    }
  ]
}
Copy to Clipboard Toggle word wrap

如需更多信息,请参阅 Cruise Control Wiki 中的填充 容量配置文件。

Cruise Control Metrics 主题的日志清理策略

非常重要的一点是,自动创建的 __CruiseControlMetrics 主题(请参阅额 auto-created topics)有一个日志清理策略 DELETE 而不是 COMPACT。否则,Cruise Control 所需的记录可能会被删除。

第 12.3 节 “部署 Cruise Control Metrics Reporter” 所述,在 Kafka 配置文件中设置以下选项可确保 COMPACT 日志清理策略被正确设置:

  • cruise.control.metrics.topic.auto.create=true
  • cruise.control.metrics.topic.num.partitions=1
  • cruise.control.metrics.topic.replication.factor=1

如果在 Cruise Control Metrics Reporter 中的主题自动创建为 disabledcruise.control.metrics.topic.auto.create=false),但在 Kafka 集群中是 enabled__CruiseControlMetrics 主题仍然由代理自动创建。在这种情况下,您必须使用 kafka-configs.sh 工具将 __CruiseControlMetrics 主题的日志清理策略改为 DELETE

  1. 获取 __CruiseControlMetrics 主题的当前配置:

    bin/kafka-configs.sh --bootstrap-server <BrokerAddress> --entity-type topics --entity-name __CruiseControlMetrics --describe
    Copy to Clipboard Toggle word wrap
  2. 在主题配置中更改日志清理策略:

    bin/kafka-configs.sh --bootstrap-server <BrokerAddress> --entity-type topics --entity-name __CruiseControlMetrics --alter --add-config cleanup.policy=delete
    Copy to Clipboard Toggle word wrap

如果在 Cruise Control Metrics Reporter Kafka 集群中都 禁用了 主题自动创建,则必须手动创建 __CruiseControlMetrics 主题,然后使用 kafka-configs.sh 工具将它配置为使用 DELETE 日志清理策略。

更多信息请参阅 第 5.9 节 “修改主题配置”

日志记录配置

Cruise Control 将 log4j1 用于所有服务器日志记录。要更改默认配置,请编辑 /opt/cruise-control/config/log4j.properties 文件中的 log4j.properties 文件。

在更改生效前,您必须重启 Cruise Control 服务器。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat