【问题标题】:Kafka messages not getting purgedKafka 消息没有被清除
【发布时间】:2019-06-14 11:09:11
【问题描述】:

我是卡夫卡的新手。我正在做一些关于如何清除 kafka 主题中的消息的实验。我发现如果我们将某个主题的“retention.ms”属性设置为一些较小的时间值,比如 1 秒,那么根据我的理解,1 秒后主题中的消息将被清除。

我运行了 1 个生产者,它产生了很少的主题消息,并在一段时间后停止了它。同时我运行了一个控制台消费者,所以它得到了生成的消息。 在保留时间过去后,我为同一主题启动了另一个消费者控制台,可以说是 1-2 分钟后。但令我惊讶的是,我能够收到有关该主题的消息。 当我最终在主题中没有看到任何消息时,再次在 2 分钟后启动控制台使用者。 kafka 花了将近 3-4 分钟来清除消息。 Kafka 是否需要任何其他设置才能立即清除消息?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api kafka-topic


    【解决方案1】:

    设置retention.ms 不能保证消息会立即从主题中删除。即使它将被标记为删除。

    如果您的消息是成对的,那么设置保留时间是不够的。您还必须设置以下参数:

    log.cleanup.policy
    log.cleaner.min.compaction.lag.ms
    log.cleaner.enable
    

    如果消息出现在您的配置中,另一组参数控制删除消息:

    log.retention.ms
    log.roll.hours
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-14
      • 2021-09-24
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 2021-07-23
      • 1970-01-01
      相关资源
      最近更新 更多