如何获取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
- 登录MRS集群Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 获取ZooKeeper节点业务IP及端口。
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client”,具体以实际替换。
cd /opt/client - 执行以下命令配置环境变量。
source bigdata_env
- 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)时跳过此步骤)
kinit 组件业务用户 - 执行以下命令进入Kafka客户端“bin”目录。
cd Kafka/kafka/bin
- 获取consumer offset metric信息。
./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
- 登录MRS集群Manager。
- 新Consumer API
- 登录MRS集群Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 获取Kafka节点业务IP及端口。
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client”,具体以实际替换。
cd /opt/client - 执行以下命令配置环境变量。
source bigdata_env
- 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)时跳过此步骤)
kinit 组件业务用户 - 执行以下命令进入Kafka客户端“bin”目录。
cd Kafka/kafka/bin
- 执行以下命令,获取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
- 登录MRS集群Manager。