登录
首页 >  Golang >  Go问答

Kafka 偏移和延迟问题在特定主题分区上存在未知情况

来源:stackoverflow

时间:2024-03-26 08:18:32 359浏览 收藏

在使用来自 https://github.com/confluenceinc/confluence-kafka-go 的 Kafka 消费者时,某些主题分区在运行数小时后会遇到偏移和延迟未知的问题。即使没有收到新消息,这些分区的偏移和延迟也会变为未知。当这些分区收到消息时,偏移和延迟将再次可见,并且消息将被消费。重新启动消费者后,所有当前偏移和延迟未知的分区将从头开始被消费,而其他分区似乎运行正常。

问题内容

我正在使用来自 https://github.com/confluenceinc/confluence-kafka-go 的消费者。 kafka版本为0.10.1.0。

这是我的消费者的配置:

kafkaClient, err := kafka.NewConsumer(&kafka.ConfigMap{
    "bootstrap.servers":               broker,
    "group.id":                       "udwg20",
    "session.timeout.ms":              60000,
    "go.events.channel.enable":        true,
    "go.application.rebalance.enable": true,
    "default.topic.config": kafka.ConfigMap{
        "auto.offset.reset":      "earliest",
        "enable.auto.commit":      true,
        "auto.commit.interval.ms": 10000}})

一开始,所有的当前偏移和滞后都显示出来,但运行几个小时后,某些分区(没有收到任何新消息)的偏移和滞后变得未知。如果有消息到达偏移量和延迟未知的分区,则偏移量和延迟将再次可见,并且该消息将被消费。

当有一些分区的 current-offset 和 lag 未知时,我重新启动消费者,此时,所有当前的 current-offset 和 lag 状态未知的分区将从头开始被消费,但其他分区似乎运行正常.

我还使用了一个 python 消费者,它使用不同的消费者组 id 使用该主题的消息。 python 消费者似乎在没有任何具有未知当前偏移和滞后的分区的情况下工作良好。


解决方案


offsets.retention.minutes 用于清理不活跃的消费者组。如果消费者组没有为 offsets.retention.minutes 提交任何偏移量(默认为 24​​h),kafka 将清理其偏移量。这就是为什么 offset 和 log 设置为 unknown

您可以增加偏移保留期,但是请注意,旧消费者将在 __consumer_offsets 主题中保留空间。

终于介绍完啦!小伙伴们,这篇关于《Kafka 偏移和延迟问题在特定主题分区上存在未知情况》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>