搜索

13.4. 配置并启动 Cruise Control

download PDF

配置 Cruise Control 使用的属性,然后使用 kafka-cruise-control-start.sh 脚本启动 Cruise Control 服务器。服务器托管到整个 Kafka 集群的单个机器上。

Cruise Control 启动时会自动创建三个主题。如需更多信息,请参阅 自动创建的主题

先决条件

流程

  1. 编辑 Cruise Control 属性文件 (/opt/cruise-control/config/cruisecontrol.properties)。
  2. 配置以下示例配置中显示的属性:

    # The Kafka cluster to control.
    bootstrap.servers=localhost:9092 1
    
    # The replication factor of Kafka metric sample store topic
    sample.store.topic.replication.factor=2 2
    
    # The configuration for the BrokerCapacityConfigFileResolver (supports JBOD, non-JBOD, and heterogeneous CPU core capacities)
    #capacity.config.file=config/capacity.json
    #capacity.config.file=config/capacityCores.json
    capacity.config.file=config/capacityJBOD.json 3
    
    # The list of goals to optimize the Kafka cluster for with pre-computed proposals
    default.goals={List of default optimization goals} 4
    
    # The list of supported goals
    goals={list of main optimization goals} 5
    
    # The list of supported hard goals
    hard.goals={List of hard goals} 6
    
    # How often should the cached proposal be expired and recalculated if necessary
    proposal.expiration.ms=60000 7
    
    # The zookeeper connect of the Kafka cluster
    zookeeper.connect=localhost:2181 8
    1
    Kafka 代理的主机和端口号(始终为端口 9092)。
    2
    Kafka 指标示例存储主题的复制因素。如果要在单节点 Kafka 和 ZooKeeper 集群中评估 Cruise Control,请将此属性设置为 1。对于生产环境,请将此属性设置为 2 或以上。
    3
    为代理资源设置最大容量限制的配置文件。使用适用于 Kafka 部署配置的文件。如需更多信息,请参阅 容量配置
    4
    使用完全限定域名(FQDN)的以逗号分隔的默认优化目标列表。许多主要优化目标(请参见 5)已设为默认优化目标;如果需要,您可以添加或删除目标。更多信息请参阅 第 13.5 节 “优化目标概述”
    5
    使用 FQDN 以逗号分隔的主要优化目标列表。要完全排除用于生成优化提议的目标,请将它们从列表中删除。更多信息请参阅 第 13.5 节 “优化目标概述”
    6
    使用 FQDN 以逗号分隔的硬目标列表。七大主要优化目标已设置为硬目标;如果需要,您可以添加或删除目标。更多信息请参阅 第 13.5 节 “优化目标概述”
    7
    刷新从默认优化目标生成的缓存的优化建议的时间间隔(以毫秒为单位)。更多信息请参阅 第 13.6 节 “优化提议概述”
    8
    ZooKeeper 连接的主机和端口号(始终端口 2181)。
  3. 启动 Cruise Control 服务器。默认情况下,服务器在端口 9092 上启动;(可选)指定不同的端口。

    cd /opt/cruise-control/
    ./kafka-cruise-control-start.sh config/cruisecontrol.properties <port_number>
  4. 要验证 Cruise Control 是否正在运行,请将 GET 请求发送到 Cruise Control 服务器的 /state 端点:

    curl -X GET 'http://<cc_host>:<cc_port>/kafkacruisecontrol/state'

自动创建的主题

下表显示了在 Cruise Control 启动时自动创建的三个主题。Cruise Control 需要这些主题才能正常工作,且不得删除或更改。

表 13.1. 自动创建的主题
自动创建的主题创建人功能

__CruiseControlMetrics

Cruise Control Metrics Reporter

将 Metrics Reporter 中的原始指标存储在每个 Kafka 代理中。

__KafkaCruiseControlPartitionMetricSamples

Sything Control

存储每个分区的派生指标。它们由指标示例聚合器创建。

__KafkaCruiseControlModelTrainingSamples

Sything Control

存储用于创建 Cluster Workload Model 的指标样本。

要确保在自动创建的主题中禁用日志压缩,请确保配置 Cruise Control Metrics Reporter,如 第 13.3 节 “部署 Cruise Control Metrics Reporter” 所述。日志压缩可以删除 Cruise Control 所需的记录,并防止它正常工作。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.