14.4. 配置和启动控制
配置 Cruise Control 使用的属性,然后使用 kafka-cruise-control-start.sh
脚本启动 Cruise Control 服务器。服务器托管于单一机器上,用于整个 Kafka 集群。
当 Cruise Control 启动时,会自动创建三个主题。如需更多信息,请参阅 自动创建的主题。
先决条件
-
以
kafka
用户身份登录 Red Hat Enterprise Linux。 - 第 14.2 节 “下载 Cruise Control 归档”
- 第 14.3 节 “部署 Cruise Control Metrics Reporter”
流程
-
编辑 Cruise Control 属性文件 (
/opt/cruise-control/config/cruisecontrol.properties
)。 配置以下示例配置中显示的属性:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kafka 代理的主机和端口号(始终端口 9092)。
- 2
- Kafka 指标示例存储主题的复制因数。如果您在单节点 Kafka 和 ZooKeeper 集群中评估 Cruise Control,请将此属性设置为 1。对于生产环境,请将此属性设置为 2 或更多。
- 3
- 为代理资源设置最大容量限制的配置文件。使用应用到 Kafka 部署配置的文件。如需更多信息,请参阅 容量配置。
- 4
- 使用完全限定域名(FQDN)的逗号分隔列表。许多主要优化目标(请参见 5)已设为默认优化目标;如果需要,您可以添加或删除目标。更多信息请参阅 第 14.5 节 “优化目标概述”。
- 5
- 使用 FQDN 的逗号分隔列表主要优化目标。要完全排除用于生成优化提议的目标,请从列表中移除它们。更多信息请参阅 第 14.5 节 “优化目标概述”。
- 6
- 使用 FQDN 的逗号分隔列表。七大主要优化目标已经被设置为硬目标;如果需要,您可以添加或删除目标。更多信息请参阅 第 14.5 节 “优化目标概述”。
- 7
- 用于刷新默认优化目标的缓存优化建议的时间间隔(毫秒)。更多信息请参阅 第 14.6 节 “优化提议概述”。
- 8
- ZooKeeper 连接的主机和端口号(始终端口 2181)。
启动 Cruise Control 服务器。服务器默认在端口 9092 上启动;可选指定不同的端口。
cd /opt/cruise-control/ ./kafka-cruise-control-start.sh config/cruisecontrol.properties <port_number>
cd /opt/cruise-control/ ./kafka-cruise-control-start.sh config/cruisecontrol.properties <port_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证 Cruise Control 是否正在运行,将 GET 请求发送到 Cruise Control 服务器的
/state
端点:curl 'http://HOST:PORT/kafkacruisecontrol/state'
curl 'http://HOST:PORT/kafkacruisecontrol/state'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
自动创建的主题
下表显示了在 Cruise Control 启动时自动创建的三个主题。这些主题需要 Cruise Control 才能正常工作,且不得删除或更改。
自动创建的主题 | 创建者 | 功能 |
---|---|---|
| Cruise Control Metrics Reporter | 将 Metrics Reporter 中的原始指标存储在每个 Kafka 代理中。 |
| Sything Control | 存储每个分区的派生指标。它们由 指标示例聚合器 创建。 |
| Sything Control | 存储用于创建 Cluster Workload Model 的指标示例。 |
要确保在自动创建的主题中禁用日志压缩,请确保配置 Cruise Control Metrics Reporter,如 第 14.3 节 “部署 Cruise Control Metrics Reporter” 所述。日志压缩可以删除 Cruise 控制所需的记录,并阻止它正常工作。