更新时间:2024-11-29 GMT+08:00

查看Consumer Group消费情况

操作场景

该任务指导MRS集群管理员根据业务需求,在客户端中查看当前消费情况。

前提条件

  • MRS集群管理员已明确业务需求,并准备一个系统用户。
  • 已安装Kafka客户端。

操作步骤

  1. 以客户端安装用户,登录安装Kafka客户端的节点。
  2. 切换到Kafka客户端安装目录,例如“/opt/client”。

    cd /opt/client

  3. 执行以下命令,配置环境变量。

    source bigdata_env

  4. 执行以下命令,进行用户认证。(普通模式跳过此步骤)

    kinit 组件业务用户

  5. 执行以下命令,切换到Kafka客户端安装目录。

    cd Kafka/kafka/bin

  6. 使用kafka-consumer-groups.sh查看当前消费情况。

    • 查看Offset保存在Kafka上的Consumer Group列表:

      ./kafka-consumer-groups.sh --list --bootstrap-server <Broker的任意一个节点的业务IP:Kafka集群IP端口号> --command-config ../config/consumer.properties

      例如:./kafka-consumer-groups.sh --bootstrap-server 192.168.1.1:21007 --list --command-config ../config/consumer.properties

    • 查看Offset保存在Kafka上的Consumer Group消费情况:

      ./kafka-consumer-groups.sh --describe --bootstrap-server <Broker的任意一个节点的业务IP:Kafka集群IP端口号> --group 消费组名称 --command-config ../config/consumer.properties

      例如:./kafka-consumer-groups.sh --describe --bootstrap-server 192.168.1.1:21007 --group example-group --command-config ../config/consumer.properties

    • 批量查询多个Consumer Group的状态信息

      ./kafka-consumer-groups.sh --bootstrap-server <Broker的任意一个节点的业务IP:Kafka集群IP端口号> --list --state --command-config ../config/consumer.properties

      例如:

      • 列出所有的Consumer Group 状态信息

        ./kafka-consumer-groups.sh --bootstrap-server 192.168.1.1:21007 --list --state --command-config ../config/consumer.properties

      • 列出状态为Stable的所有Consumer Group

        ./kafka-consumer-groups.sh --bootstrap-server 192.168.1.1:21007 --list --state stable --command-config ../config/consumer.properties

    • 打印Topic的Offset和Header

      ./kafka-console-consumer.sh --bootstrap-server <Broker的任意一个节点的业务IP:Kafka集群IP端口号> --topic 主题名称 --from-beginning --property print.partition=true --property print.key=true --property print.timestamp=true --property print.offset=true --property print.headers=true --property key.separator='|' --consumer.config ../config/consumer.properties

      例如:./kafka-console-consumer.sh --bootstrap-server 192.168.1.1:21007 --topic test --from-beginning --property print.partition=true --property print.key=true --property print.timestamp=true --property print.offset=true --property print.headers=true --property key.separator='|' --consumer.config ../config/consumer.properties

    1. 确保当前consumer在线消费。
    2. 确保配置文件consumer.properties中的group.id与命令中--group的参数均配置为待查询的group。
    3. Kafka集群IP端口号安全模式下是21007,普通模式下是9092。