14.4. 配置和启动清理控制
配置 Cruise Control 使用的属性,然后使用 cruise-control-start.sh
脚本启动 Cruise Control 服务器。该服务器托管于整个 Kafka 集群的单一机器上。
在 Cruise Control 启动时会自动创建三个主题。如需更多信息,请参阅 自动创建的主题。
先决条件
-
以
kafka
用户身份登录 Red Hat Enterprise Linux。 - 第 14.2 节 “下载清理控制存档”
- 第 14.3 节 “部署 Cruise 控制指标报告器”
流程
-
编辑 Cruise Control 属性文件(
/opt/cruise-control/config/cruisecontrol.properties
)。 配置以下示例配置中显示的属性:
# 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 master 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)已设置为默认优化目标;如果需要,您可以添加或删除目标。如需更多信息,请参阅 第 14.5 节 “优化目标概述”。
- 5
- 使用 FQDN 以逗号分隔的主优化目标列表。为了完全排除用于生成优化判断的目标,请将其从列表中删除。如需更多信息,请参阅 第 14.5 节 “优化目标概述”。
- 6
- 使用 FQDN 以逗号分隔的硬目标列表。七个主优化目标已被设置为硬目标;如果需要,您可以添加或删除目标。如需更多信息,请参阅 第 14.5 节 “优化目标概述”。
- 7
- 从默认优化目标生成的缓存优化建议的间隔,以毫秒为单位。如需更多信息,请参阅 第 14.6 节 “优化调整概述”。
- 8
- ZooKeeper 连接的主机和端口号(始终端口 2181)。
启动清理控制服务器。默认情况下,服务器在端口 9092 上启动;可选,指定不同的端口。
cd /opt/cruise-control/ ./bin/cruise-control-start.sh config/cruisecontrol.properties PORT
要验证 Cruise Control 是否正在运行,请向 Cruise Control 服务器的
/state
端点发送 GET 请求:curl 'http://HOST:PORT/kafkacruisecontrol/state'
自动创建的主题
下表显示了 Cruise Control 启动时自动创建的三个主题。这些主题是必需的,清理控制才能正常工作,且不得删除或更改。
自动创建的主题 | 创建者 | 功能 |
---|---|---|
| Sything Control Metrics Reporter | 将 Metrics Reporter 中的原始指标存储在每个 Kafka 代理中。 |
| Sything Control | 存储每个分区派生的指标。它们由 Metric Sample Aggregator 创建。 |
| Sything Control | 存储用于创建集群 工作负载模型 的指标示例。 |
要确保在自动创建的主题中 禁用 了日志紧凑,请确保配置 Cruise Control Metrics Reporter,如 第 14.3 节 “部署 Cruise 控制指标报告器” 所述。日志紧凑可以删除 Cruise Control 所需的记录,并阻止其正常工作。