当前位置: 首页 > 知识库问答 >
问题:

Kafka不删除主题中的旧消息

赏阳嘉
2023-03-14

在kafka中,我在server.properties中将保留策略设置为3天

############################# Log Retention Policy #############################
...
log.retention.hours=72
...

主题将retention.ms设置为172800000(48h)。

但是,文件夹/tmp/kafka-logs中仍然有旧数据,并且没有任何数据被删除。我等了几个小时才换了那些房产。

共有1个答案

慕嘉茂
2023-03-14

编辑:根据kafka文档,cleanup.policy应该默认为delete

retention.msretention.bytes指定删除数据的方式。

关键是将log.cleanup.policy设置为compactdelete。这不是我设定的。

运行:kafka-topics--zookeeper 127.0.0.1:2181-topic topic1-description显示主题设置的属性,例如。配置:retention.ms=172800000,cleanup.policy=compact

必须设置cleanup.policy。此外,我手动设置retention.ms/retention.bytes来控制清理触发器。

 类似资料:
  • 我正在测试Kafka主题的工作,但我不明白删除是如何工作的。 我创建了一个简单的主题 在此之后,我创建了一个生产者,并发送了一些消息。消费者没有问题地接收到消息。但我预计,一分钟后,如果重复了消费者,它不会显示消息,因为它们肯定已经被删除了。但这种行为不会发生。 如果我用ksql创建一个查询,那也是一样的。消息总是会出现。 我想我不明白删除是怎么回事。 3)制作人留言 4)消费者 消费者会显示这四

  • 因此,我是使用Apache Kafka的新手,我正在尝试创建一个简单的应用程序,以便我可以尝试更好地理解API。我知道这个问题在这里被问了很多,但是我该如何清除存储在主题上的消息/记录? 我看到的大部分回答都是说更改消息保留时间或者删除

  • 我看过与此相关的类似问题,但并没有找到正确的答案。我只想从 Kafka 主题中删除消息,而不是更改保留超时。我已经安装了kafka_2.11-0.8.2.1,并使用蝙蝠文件在Windows上运行它。我想知道我是否可以删除主题中发布的所有消息,而不删除整个主题。

  • 向源生成特殊的clear-message,这将导致聚合的消息变为空 将消息直接写入具有空数据的中间主题 另一种方式,也许kafka-streams已经有一个API调用了? 加分问题:如果我知道我不想让消息坐在中间话题中的时间超过6个月,我可以指示kafka-streams创建6M留存的中间话题,还是在我运行App之前我自己手动创建话题?

  • 但是,这将导致以下消息: 如何删除此主题?

  • 我想删除所有空的Kafka主题(定期从cron)。我在文档中找不到一个这样做的命令?转到脚本: 但是,这包括已经过期的消息?在不使用消费者的情况下,如何在主题中找到实际的当前计数?