Kafka无法跟踪最后提交的偏移量。

问题描述 投票:0回答:1

kakfa-broker在管理偏移量方面有什么问题吗?我们面临的问题是,当我们尝试重启kafka-消费者(即应用程序重启)时,有时所有的偏移量都会被重置为0。

我们最终在prod中遇到了这个问题,整个q事件会被重新播放。

  • spring-boot版本--2.2.6发布。
  • spring-kafka - 2.3.7发布。
  • kafka-client -2.3.1
  • apache-kafka - kafka_2.12-2.3.1

我们有10个topic,每个topic有50个分区,它们属于同一个组,我们在运行时根据负载情况增加topic-partition和consumer的数量。

  • auto-commit = false
  • 同步提交每个偏移量的处理后
  • max-poll-records被设置为1。

在所有这些配置之后,它在本地设置中如期运行,在部署到prod之后,我们看到这样的问题nut不是在每次重启的时候.是否有任何配置我遗漏了.完全没有头绪!!!

apache-kafka kafka-consumer-api spring-kafka
1个回答
0
投票

不要按照另一个答案中的建议启用自动提交,监听器容器会更可靠地提交偏移量,就像你说的那样,你不会一直遇到这个问题。

有没有可能你一周都没有收到记录?

或者,你的经纪人是否有可能有一个较短的 offsets.retention.minutes 属性?

在2.0中,它被从1天的默认值改为1周。如果偏移量因为过期而被删除,你重新启动消费者,你会得到你观察到的行为。


0
投票

你需要确保

1)你使用相同的消费者组ID。

2) auto.offset.reset 设置为 latest

spring.kafka.consumer.group-id=your-consumer-group-id
spring.kafka.consumer.auto-offset-reset=latest

如果您仍然看到这个问题,请尝试启用自动提交。

spring.kafka.consumer.enable-auto-commit=true

如果问题消失了,那么说明你的手动提交没有达到预期的效果。

© www.soinside.com 2019 - 2024. All rights reserved.