Kafka 无法跟踪最后提交的偏移量
Kafka fails to keep track of last-commited offset
kakfa-broker 在管理偏移量方面是否存在任何已知问题? Bcz,我们面临的问题是当我们尝试重启 kafka-consumer(即应用程序重启)时,有时所有的偏移量都会重置为 0。
完全不知道为什么消费者不能从最后提交的偏移量开始。
我们最终在 prod 中面临这个问题,其中整个 q 事件被再次重播:
- spring-引导版本 -- 2.2.6 版本
- spring-kafka - 2.3.7 版本
- kafka-客户端-2.3.1
- apache-kafka - kafka_2.12-2.3.1
我们有 10 个主题,每个主题有 50 个分区,属于同一组,我们根据负载在 运行 时间增加主题分区和消费者数量。
- 自动提交 = false
- 处理后同步提交每个偏移量
- max-poll-records 设置为 1
完成所有这些配置后,它 运行 在本地设置中符合预期,在部署到 prod 之后,我们不会在每次重新启动时看到此类问题。
有没有我缺少的配置。
完全没脑子!!!!
您需要确保:
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
如果问题消失,则意味着您的手动提交未按预期工作。
不要按照另一个答案中的建议启用自动提交;侦听器容器将更可靠地提交偏移量,并且正如您所说,您不会一直遇到问题。
难不成一周都没有收到记录?
或者,您的经纪人有没有可能 offsets.retention.minutes
属性 更短?
在 2.0 中,它从默认的 1 天更改为 1 周。如果偏移量因为它们过期而被删除并且您重新启动消费者,您将得到您观察到的行为。
kakfa-broker 在管理偏移量方面是否存在任何已知问题? Bcz,我们面临的问题是当我们尝试重启 kafka-consumer(即应用程序重启)时,有时所有的偏移量都会重置为 0。 完全不知道为什么消费者不能从最后提交的偏移量开始。
我们最终在 prod 中面临这个问题,其中整个 q 事件被再次重播:
- spring-引导版本 -- 2.2.6 版本
- spring-kafka - 2.3.7 版本
- kafka-客户端-2.3.1
- apache-kafka - kafka_2.12-2.3.1
我们有 10 个主题,每个主题有 50 个分区,属于同一组,我们根据负载在 运行 时间增加主题分区和消费者数量。
- 自动提交 = false
- 处理后同步提交每个偏移量
- max-poll-records 设置为 1
完成所有这些配置后,它 运行 在本地设置中符合预期,在部署到 prod 之后,我们不会在每次重新启动时看到此类问题。 有没有我缺少的配置。 完全没脑子!!!!
您需要确保:
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
如果问题消失,则意味着您的手动提交未按预期工作。
不要按照另一个答案中的建议启用自动提交;侦听器容器将更可靠地提交偏移量,并且正如您所说,您不会一直遇到问题。
难不成一周都没有收到记录?
或者,您的经纪人有没有可能 offsets.retention.minutes
属性 更短?
在 2.0 中,它从默认的 1 天更改为 1 周。如果偏移量因为它们过期而被删除并且您重新启动消费者,您将得到您观察到的行为。