第 14 章 用于集群重新平衡的 Cruise Control
用于集群重新平衡的 Cruise Control 只是一个技术预览。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中实施任何技术预览功能。此技术预览功能为您提供对即将推出的产品创新的早期访问,允许您在开发过程中测试并提供反馈。有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以将 Cruise Control 部署到 AMQ Streams 集群,并使用它来在 Kafka 代理间重新平衡负载。
Cruise Control 是一个用于自动化 Kafka 操作的开源系统,如监控集群工作负载、根据预定义的限制重新平衡集群,并检测和修复异常情况。它由四个组件组成(Load Monitor、Anomaly Detector 和 Executor)和 REST API。
当 AMQ Streams 和 Cruise Control 都部署到 Red Hat Enterprise Linux 中时,您可以通过 Cruise Control REST API 访问 Cruise Control 功能。支持以下功能:
- 配置 优化目标 和 容量限制
使用
/rebalance
端点来:- 根据配置的优化目标或 用户提供的 目标作为请求参数,生成优化建议,作为空运行。
- 启动优化建议以重新平衡 Kafka 集群
-
使用
/user_tasks
端点检查活跃重新平衡操作的进度 -
使用
/stop_proposal_execution
端点停止活跃的重新平衡操作
目前还不支持所有其他 Cruise Control 功能,包括异常检测、通知、写入目标以及更改主题复制因素。不支持 Web UI 组件(Cruise Control Frontend)。
Red Hat Enterprise Linux 上的 Cruise Control for AMQ Streams 作为单独的 ziped 发行版本提供。如需更多信息,请参阅 第 14.2 节 “下载 Cruise Control 归档”。
14.1. 为什么使用 Cruise Control? 复制链接链接已复制到粘贴板!
Cruise Control 减少了运行高效 Kafka 集群的时间和工作量,在代理间有更均匀的工作负载。
典型的集群随着时间的推移可能会不均匀地加载。处理大量消息流量的分区可能无法均匀分布到可用代理中。要重新平衡集群,管理员必须监控代理上的负载,并将忙碌的分区手动分配给具有备用容量的代理。
Cruise Control 自动执行此集群重新平衡过程。它根据 CPU、磁盘和网络负载构建资源利用率 的工作负载模型。通过使用一组可配置的优化目标,您可以指示 Cruise Control 为更多均衡的分区分配生成空运行优化建议。
查看空运行优化建议后,您可以指示 Cruise Control 根据这个提议启动集群重新平衡,或生成新的提议。
当集群重新平衡操作完成后,代理会更有效地使用,Kafka 集群上的负载更为均匀。