更新时间:2025-12-26 GMT+08:00
分享

如何获取Kafka Consumer Offset信息

Kafka API简单说明

  • 新Producer API

    指org.apache.kafka.clients.producer.KafkaProducer中定义的接口,在使用“kafka-console-producer.sh”时,默认使用此API。

  • 旧Producer API

    指kafka.producer.Producer中定义的接口,在使用“kafka-console-producer.sh”时,加“--old-producer”参数会调用此API。

  • 新Consumer API

    指org.apache.kafka.clients.consumer.KafkaConsumer中定义的接口,在使用“kafka-console-consumer.sh”时,加“--new-consumer”参数会调用此API。

  • 旧Consumer API

    指kafka.consumer.ConsumerConnector中定义的接口,在使用“kafka-console-consumer.sh”时,默认使用此API。

新Producer API和新Consumer API,在下文中统称为新API。

前提条件

  • 系统管理员已明确业务需求,并准备一个Kafka管理员用户(属于kafkaadmin组)。

    创建用户相关操作请参考创建Kafka权限角色

  • 已安装客户端,例如安装目录为“/opt/client,以下操作的客户端目录只是举例,请根据实际安装目录修改

    下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

处理步骤

  • 旧Consumer API
    1. 登录MRS集群Manager。

      登录集群Manager具体操作,请参考访问MRS集群Manager

    2. 获取ZooKeeper节点业务IP及端口。
      1. 选择“集群 > 服务 > ZooKeeper > 实例”,查看并记录任意一个ZooKeeper角色实例的业务IP地址。
      2. 选择“配置 > 全部配置”,搜索“clientPort”,查看并记录端口号。

        默认端口如下:

        • 开源端口默认值为:2181
        • 定制端口默认值为:24002

        端口定制/开源区分:创建LTS版本类型集群时,可以选择“组件端口”为“开源”或是“定制”,选择“开源”使用开源端口,选择“定制”使用定制端口。

    3. 以客户端安装用户,登录安装客户端的节点。
    4. 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client,具体以实际替换
      cd /opt/client
    5. 执行以下命令配置环境变量。
      source bigdata_env
    6. 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)跳过此步骤)
      kinit 组件业务用户
    7. 执行以下命令进入Kafka客户端“bin”目录。
      cd Kafka/kafka/bin
    8. 获取consumer offset metric信息。

      执行以下命令列出Kafka集群中所有的消费者组

      ./kafka-consumer-groups.sh --zookeeper <zookeeper_host:port>/kafka --list 

      执行以下命令查看指定Kafka消费者组的详细状态和消费信息

      ./kafka-consumer-groups.sh --zookeeper <zookeeper_host:port>/kafka --describe --group 消费者组名称

      例如执行以下命令

      kafka-consumer-groups.sh --zookeeper 192.168.100.100:2181/kafka --list 
      kafka-consumer-groups.sh --zookeeper 192.168.100.100:2181/kafka --describe --group test-consumer-group
  • 新Consumer API
    1. 登录MRS集群Manager。

      登录集群Manager具体操作,请参考访问MRS集群Manager

    2. 获取Kafka节点业务IP及端口
      1. 选择“集群 > 服务 > Kafka > 实例”,查看并记录任意一个Broker角色实例的业务IP地址。
      2. Kafka集群端口号:

        集群已启用Kerberos认证(安全模式):默认为21007

        集群未启用Kerberos认证(普通模式):默认为9092

    3. 以客户端安装用户,登录安装客户端的节点。
    4. 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client,具体以实际替换
      cd /opt/client
    5. 执行以下命令配置环境变量。
      source bigdata_env
    6. 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)跳过此步骤)
      kinit 组件业务用户
    7. 执行以下命令进入Kafka客户端“bin”目录。
      cd Kafka/kafka/bin
    8. 执行以下命令,获取consumer offset metric信息。
      kafka-consumer-groups.sh --bootstrap-server <broker_host:port> --describe --group 消费者组名称

      例如执行以下命令

      kafka-consumer-groups.sh --bootstrap-server 192.168.100.100:9092 --describe --group my-group

相关文档