代码之家  ›  专栏  ›  技术社区  ›  Anthony

为什么我的卡夫卡主题没有重置为0?

  •  1
  • Anthony  · 技术社区  · 7 年前

    当我描述我的一个主题时,我得到了以下状态:

    ➜  local-kafka_2.12-2.0.0 bin/kafka-consumer-groups.sh --bootstrap-server myip:1025 --group mygroup --describe
    Consumer group 'mygroup' has no active members.
    
    TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID     HOST            CLIENT-ID
    mytopic         0          858             858             0               -               -               -
    

    当我尝试将其重置为最早时,我会得到以下状态:

    ➜  local-kafka_2.12-2.0.0 bin/kafka-consumer-groups.sh --bootstrap-server myip:1025 --group mygroup --topic mytopic --reset-offsets --to-earliest --execute
    
    TOPIC                          PARTITION  NEW-OFFSET
    mytopic                        0          494
    

    我本以为新的偏移量是 0 而不是 494 .

    问题

    1-在 describe 输出当前偏移显示为 858 然而,重新设置为最早的节目 494 .所以会有一个 364 .我的问题是,剩下的人怎么了 494 ( 858-364 )补偿?它们消失是因为本主题的某些配置设置吗?我的 retention.ms 设置为1周
    2.如果 494 记录不见了,有没有办法找回它们?

    1 回复  |  直到 7 年前
        1
  •  0
  •   user152468 Benjas    7 年前

    如果您有权访问卡夫卡集群的数据目录,可以使用命令查看其中存在的数据 kafka-run-class.bat kafka.tools.DumpLogSegments .

    有关更多信息,请参见此处: https://medium.com/@durgaswaroop/a-practical-introduction-to-kafka-storage-internals-d5b544f6925f

    由于日志保留时间或日志大小限制(配置属性),您的数据可能已被删除 log.retention.bytes )。

    推荐文章