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

删除Kafka主题中的所有消息

夏奕
2023-03-14

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

共有2个答案

柴琦
2023-03-14

Kafka在这方面与其他消息传递不同。Kafka不是一个消费-删除语义框架。您不能删除,但可以向前移动您的读数偏移量,消费者将收到下一条消息

如果消费者想要再次或现在读取来自代理的任何消息,则由消费者负责。无论消费者是否使用消息,kafka 都会将消息存储配置的时间,然后删除。

也许可以写一些脚本来实现这一点,但我强烈建议不要这样做。

吴升
2023-03-14

你不能在0.8.2中做到这一点。从0.11.0开始,你会得到一个 kafka-delete-records.sh 工具。从 1.1 开始,您甚至有一个 Java 管理客户端 API,其中包含用于以编程方式执行此操作的记录方法。

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

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

  • 在kafka中,我在中将保留策略设置为3天 主题将设置为(48h)。 但是,文件夹/tmp/kafka-logs中仍然有旧数据,并且没有任何数据被删除。我等了几个小时才换了那些房产。

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

  • 你好,我正在写一个服务围棋和Kafka,我需要实现一个删除所有endpoint,将删除所有记录从一个特定的主题。然而,我找不到一个合适的方法来做到这一点。我使用Sarama库为Kafka。 到目前为止,我能找到实现删除所有的唯一两种方法是删除主题,这似乎不是处理这个问题的有效方法,第二种方法是使用Sarama库中的函数,但是这函数删除偏移量小于相应分区给定偏移量的记录。这意味着我必须先得到最新的偏

  • 我有以下用例: 我有两个Kafka主题,一个是用来处理传入消息流的,另一个是用来存储记录的,作为应用程序初始状态的引导。 有没有办法做到以下几点: 当应用程序启动时,读取Kafka主题中的所有消息,并将该主题中用于将应用程序引导至初始状态的所有存储在内存中 只有在读取了所有消息后,才允许处理流主题中的 因为在应用程序运行时,状态主题上可能会有其他记录,以便在不必重新启动应用程序的情况下将它们合并到