文档

使用Cruise Control

更新时间:

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集群

操作步骤

  1. 进入服务的配置页面。

    1. 登录EMR on ECS控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. EMR on ECS页面,单击目标集群操作列的集群服务

    4. 集群服务页面,单击Kafka服务区域的配置

  2. 启用Cruise Control reporter采集Kafka集群指标。

    1. 配置页面,单击server.properties页签。

    2. 修改kafka.cruisecontrol.metric.reporter.enable的参数值为true。

    3. 单击保存

    4. 在弹出的对话框中,输入执行原因,单击保存

  3. 配置Kafka Broker的性能信息。

    您可以单击cruisecontrol_capacity.json页签,查看当前配置的性能信息。如果预置的配置信息与实际Broker的性能参数不符,您可以修改该配置文件的内容。

  4. 配置Cruise Control组件的页面访问地址。

    1. 配置页面,单击cruisecontrol.properties页签。

    2. 修改cruise.control.ui.access.host的参数值为master-1-1节点的公网IP地址。

      master-1-1节点的公网IP地址,您可以在EMR控制台节点管理页面查看。

    3. 单击保存

    4. 在弹出的对话框中,输入执行原因,单击保存

  5. 重启Kafka Broker服务。

    1. 集群服务页面,选择更多操作 > 重启

    2. 在弹出的对话框中,输入执行原因,单击确定

    3. 确认对话框中,单击确定

  6. 启动Cruise Control服务。

    1. 使用SSH方式登录集群,详情请参见登录集群

    2. 执行以下命令,启动Cruise Control服务。

      cd $KAFKA_ROOT/cruise-control-current/
      ./emr-cruise-control-start.sh
  7. 查看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
  8. 访问Cruise Control服务。

    您可以通过访问Cruise Control UI或者REST API来使用Cruise Control服务。

    • Cruise Control UI的访问地址默认为http://<master-1-1节点的公网IP地址>:9090/

      说明

      访问Cruise Control UI前,需要为安全组添加9090端口,具体请参见添加安全组规则

    • REST API方式的详细信息,请参见REST-APIs

  • 本页导读 (1)
文档反馈