gpt4 book ai didi

apache-kafka - Apache Kafka使用者组的偏移量如何过期?

转载 作者:行者123 更新时间:2023-12-03 09:53:21 28 4
gpt4 key购买 nike

当我发现一些奇怪的行为时,我正在对一个旧主题进行一些测试。在阅读Kafka的日志时,我注意到此“已删除8个过期偏移”消息:

[GroupCoordinator 1001]: Stabilized group GROUP_NAME generation 37 (kafka.coordinator.GroupCoordinator)
[GroupCoordinator 1001]: Assignment received from leader for group GROUP_NAME for generation 37 (kafka.coordinator.GroupCoordinator)
Deleting segment 0 from log __consumer_offsets-31. (kafka.log.Log)
Deleting segment 0 from log __consumer_offsets-45. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-45/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting index /data/kafka-logs/__consumer_offsets-31/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting segment 0 from log __consumer_offsets-13. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-13/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting segment 0 from log __consumer_offsets-11. (kafka.log.Log)
Deleting segment 4885 from log __consumer_offsets-11. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-11/00000000000000004885.index.deleted (kafka.log.OffsetIndex)
Deleting index /data/kafka-logs/__consumer_offsets-11/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting segment 0 from log __consumer_offsets-26. (kafka.log.Log)
Deleting segment 12406 from log __consumer_offsets-26. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-26/00000000000000012406.index.deleted (kafka.log.OffsetIndex)
Deleting index /data/kafka-logs/__consumer_offsets-26/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting segment 0 from log __consumer_offsets-22. (kafka.log.Log)
Deleting segment 8643 from log __consumer_offsets-22. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-22/00000000000000008643.index.deleted (kafka.log.OffsetIndex)
Deleting index /data/kafka-logs/__consumer_offsets-22/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting segment 0 from log __consumer_offsets-6. (kafka.log.Log)
Deleting segment 9757 from log __consumer_offsets-6. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-6/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
Deleting index /data/kafka-logs/__consumer_offsets-6/00000000000000009757.index.deleted (kafka.log.OffsetIndex)
Deleting segment 0 from log __consumer_offsets-14. (kafka.log.Log)
Deleting segment 1 from log __consumer_offsets-14. (kafka.log.Log)
Deleting index /data/kafka-logs/__consumer_offsets-14/00000000000000000001.index.deleted (kafka.log.OffsetIndex)
Deleting index /data/kafka-logs/__consumer_offsets-14/00000000000000000000.index.deleted (kafka.log.OffsetIndex)
[GroupCoordinator 1001]: Preparing to restabilize group GROUP_NAME with old generation 37 (kafka.coordinator.GroupCoordinator)
[GroupCoordinator 1001]: Stabilized group GROUP_NAME generation 38 (kafka.coordinator.GroupCoordinator)
[GroupCoordinator 1001]: Assignment received from leader for group GROUP_NAME for generation 38 (kafka.coordinator.GroupCoordinator)
[Group Metadata Manager on Broker 1001]: Removed 8 expired offsets in 1 milliseconds. (kafka.coordinator.GroupMetadataManager)

实际上,我有两个问题:
  • 此补偿有效期如何对消费者组起作用?
  • 这个过期的偏移量可以解释这种行为吗,即我的消费者在拥有auto.offset.reset = latest时不轮询任何东西,但在拥有auto.offset.reset = earliest时从上次提交的偏移量轮询吗?
  • 最佳答案

    默认情况下,Kafka在可配置的时间段后删除已提交的偏移量。请参阅参数offsets.retention.minutes。即,如果消费者组在此时间段内处于非 Activity 状态(即不提交任何偏移量),则偏移量将被删除。因此,即使使用者正在运行,如果它不提交某些分区的偏移量,则这些偏移量也受offset.retention.minutes的约束。

    如果启动消费者,则会发生以下情况:

  • 寻找(有效)已提交的偏移量(针对消费者组)
  • 如果找到有效的偏移量,则从那里继续
  • 如果找不到有效偏移量,请根据auto.offset.reset参数
  • 重置偏移量

    因此,如果您的偏移量被删除并添加了 auto.offset.reset = latest,那么在将新数据添加到主题之前,消费者不会轮询任何内容。如果是 auto.offset.reset = earliest,它应该占用整个主题。

    有关此 https://issues.apache.org/jira/browse/KAFKA-3806https://issues.apache.org/jira/browse/KAFKA-4682的讨论,请参见此JIRA

    关于apache-kafka - Apache Kafka使用者组的偏移量如何过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39131465/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com