【问题标题】:__consumer_offsets topic with very big partitions__consumer_offsets 具有非常大分区的主题
【发布时间】:2021-06-07 22:02:30
【问题描述】:

我正在使用 Kafka 2.0.0 __consumer_offsets 主题的一些分区是 500-700 GB 和超过 5000-7000 个段。这些细分市场超过 2-3 个月。 日志中没有错误,并且该主题默认为 COMPACT。

可能是什么问题? 也许是配置或消费者问题?或者可能是 kafka 2.0.0 的错误? 我可以做哪些检查?

我的设置:

log.cleaner.enable=true
log.cleanup.policy = [delete]
log.retention.bytes = -1
log.segment.bytes = 268435456
log.retention.hours = 72
log.retention.check.interval.ms = 300000



offsets.commit.required.acks = -1
offsets.commit.timeout.ms = 5000
offsets.load.buffer.size = 5242880
offsets.retention.check.interval.ms = 600000
offsets.retention.minutes = 10080
offsets.topic.compression.codec = 0
offsets.topic.num.partitions = 50
offsets.topic.replication.factor = 3
offsets.topic.segment.bytes = 104857600

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    尝试重启集群。它将解决问题,但由于主题的大小,重新平衡需要大量时间。

    log.cleaner.threads 在您的经纪人中可能会发生崩溃。重新启动代理会重新启动那些胎面,并且会开始清理。

    log.cleaner.threads 在 kafka 中默认为 1。增加它,然后如果一个胎面崩溃,就会有另一个。

    如果是这种情况,server logs 中应该有关于此的日志

    【讨论】:

    • 已经重启但同样的问题。我在服务器日志中没有看到任何有关此问题的信息。我还能做哪些其他检查?有没有办法知道该主题的压缩何时完成?奇怪的是,该主题有数千个超过 2-3 个月的片段。谢谢:)
    • 通常日志清理每 5 分钟运行一次。如果您没有更改它,则它是默认值。 __consumer_offsets 主题的 cleanup.policy 配置默认为 compact,所有早于 delete.retention.ms 的段都应该被压缩。因此具有相同密钥的消息将被压缩。
    • 如果要删除旧段,只需将主题配置更改为delete并减少retention.ms。删除旧段后,请务必更改配置。
    • 好的,所以日志清理每 5 分钟运行一次,并且应该删除早于 delete.retention.ms(在我的情况下为 24 小时)的段。但在我的情况下,这不会发生,并且有数千个片段超过 2-3 个月。我还能检查什么?我应该弄清楚为什么会这样。我不能每次都更改主题配置。谢谢:)
    • 重启broker后,查看服务器日志,如果日志清理器崩溃会报错。
    【解决方案2】:

    可能是您的应用程序每次都与不同的消费者群体循环吗?

    您可以使用此命令查看您的 _consumer_offsets 主题,尝试找出消费者 组名重复,也许您有一些用户创建了许多带有循环的消费者组或运行控制台消费者......

    echo "exclude.internal.topics=false" > /tmp/consumer.config
    ./kafka-console-consumer.sh --consumer.config /tmp/consumer.config \
    --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" \
    --bootstrap-server localhost:9092 --topic __consumer_offsets --from-beginning
    

    【讨论】:

      猜你喜欢
      • 2016-07-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2021-08-30
      • 2021-08-08
      • 2018-02-21
      • 2017-01-24
      相关资源
      最近更新 更多