Cruise Control主要用于均衡Kafka的负载、检测和修复异常、监控集群的状态。本文介绍如何在EMR Kafka集群中使用Cruise Control。
背景信息
EMR Kafka将Cruise Control组件预装在Kafka Runtime中,因此您可以在任意安装了Kafka Runtime的节点启动Cruise Control服务。建议您将非Broker节点作为Cruise Control的服务节点,本文使用master-1-1节点作为Cruise Control的服务节点。
前提条件
已创建EMR 3.42.0及以上版本的DataFlow集群,且选择了Kafka服务。创建集群详情,请参见创建DataFlow Kafka集群。
操作步骤
进入服务的配置页面。
在顶部菜单栏处,根据实际情况选择地域和资源组。
在EMR on ECS页面,单击目标集群操作列的集群服务。
在集群服务页面,单击Kafka服务区域的配置。
启用Cruise Control reporter采集Kafka集群指标。
在配置页面,单击server.properties页签。
修改kafka.cruisecontrol.metric.reporter.enable的参数值为true。
单击保存。
在弹出的对话框中,输入执行原因,单击保存。
配置Kafka Broker的性能信息。
您可以单击cruisecontrol_capacity.json页签,查看当前配置的性能信息。如果预置的配置信息与实际Broker的性能参数不符,您可以修改该配置文件的内容。
配置Cruise Control组件的页面访问地址。
在配置页面,单击cruisecontrol.properties页签。
修改cruise.control.ui.access.host的参数值为master-1-1节点的公网IP地址。
master-1-1节点的公网IP地址,您可以在EMR控制台节点管理页面查看。
单击保存。
在弹出的对话框中,输入执行原因,单击保存。
重启Kafka Broker服务。
在集群服务页面,选择 。
在弹出的对话框中,输入执行原因,单击确定。
在确认对话框中,单击确定。
启动Cruise Control服务。
使用SSH方式登录集群,详情请参见登录集群。
执行以下命令,启动Cruise Control服务。
cd $KAFKA_ROOT/cruise-control-current/ ./emr-cruise-control-start.sh
查看Cruise Control日志。
您可以通过以下命令,查看该目录下的日志文件。通过查看日志可以确认启动过程是否正常。
ll $LOG_DIR_ROOT/cruise-control
例如,返回以下信息。
-rw-r--r-- 1 kafka hadoop 109095 Jul 20 15:07 kafkacruisecontrol.log -rw-r--r-- 1 kafka hadoop 0 Jul 20 15:07 kafkacruisecontrol-operation.log -rw-r--r-- 1 kafka hadoop 87452 Jul 20 15:07 kafka-cruise-control.out -rw-r--r-- 1 kafka hadoop 0 Jul 20 15:07 kafkacruisecontrol-request.log
访问Cruise Control服务。