存在comsumer group且存在消费行为,但AdminClient获取不到消费offset值

AdminClient 中的listConsumerGroupOffsets获取不到consumergroup消费位移情况;
网上查找资料说:

  1. listConsumerGroupOffsets() 请求返回的消费位移信息未及时更新,仍是稍早时刻的状态。 由于 listConsumerGroupOffsets() 请求需要从 Broker
    获取最新的位移信息,如果响应结果的更新不够及时,返回的位移值可能不是最新的状态。
  2. 消费位移信息尚未从 Producer 传输至 Broker 的 __consumer_offsets 主题。 消费者提交的位移信息需要由 Producer 生产并写入 __consumer_offsets 主题,Broker 才会在
    listConsumerGroupOffsets() 请求中返回对应的最新位移。如果 Producer 的传输未完成,Broker
    端无法获取到最新的位移信息。
  3. 自动提交位移参数设置不当,位移提交不精确。 如果 enable.auto.commit 设置为 true,并且提交间隔过长,实际消费位移的变化可能超过了自动提交的频率,导致 listConsumerGroupOffsets()
    无法获取到最新的位移。
  4. 其他异常原因,如网络故障、请求超时等。

排除以上问题。
通过kafka-consumer-groups.sh查看:

sh ./bin/kafka-consumer-groups.sh --bootstrap-server xxx:9092 --describe  --group XXXXX

在这里插入图片描述
发现多个获取不到消费位移的都出现了“has no active members”,所以应该是AdminClient获取不到no active members的consumergroup消费信息。

后面通过查看源码发现KafkaAdminClient 处理了这个问题,所以做了类型转换。后面成功了。

KafkaAdminClient kafkaAdminClient = (KafkaAdminClient) adminClient;
ListConsumerGroupOffsetsResult listConsumerGroupOffsets = kafkaAdminClient.listConsumerGroupOffsets(groupID);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值