从 Kafka 主题中删除所有消息
Delete all messages from Kafka topic
我看过类似的问题,但是没有找到正确的答案。我只想从 Kafka 主题中删除消息,而不是更改保留超时。
我已经使用 bat 文件在 windows 上安装了 kafka_2.11-0.8.2.1 和 运行。我想知道是否可以在不删除整个主题的情况下删除主题中发布的所有消息。
你不能用 0.8.2 做到这一点。
从 0.11.0 开始,您将获得一个用于执行此操作的 kafka-delete-records.sh 工具。
从 1.1 开始,您甚至可以使用带有 deleteRecords 方法的 Java AdminClient API 以编程方式执行此操作。
Kafka 在这方面与其他消息传递不同。 Kafka 不是一个消费-删除语义框架。您无法删除,但可以继续阅读偏移量,消费者将收到下一条消息。
消费者有责任再次或现在阅读来自代理的任何消息。无论消费者是否消费消息,kafka 都会将消息存储配置的时间,然后删除。
也许可以编写一些脚本来实现这一点,但我强烈建议不要这样做。
我看过类似的问题,但是没有找到正确的答案。我只想从 Kafka 主题中删除消息,而不是更改保留超时。 我已经使用 bat 文件在 windows 上安装了 kafka_2.11-0.8.2.1 和 运行。我想知道是否可以在不删除整个主题的情况下删除主题中发布的所有消息。
你不能用 0.8.2 做到这一点。 从 0.11.0 开始,您将获得一个用于执行此操作的 kafka-delete-records.sh 工具。 从 1.1 开始,您甚至可以使用带有 deleteRecords 方法的 Java AdminClient API 以编程方式执行此操作。
Kafka 在这方面与其他消息传递不同。 Kafka 不是一个消费-删除语义框架。您无法删除,但可以继续阅读偏移量,消费者将收到下一条消息。
消费者有责任再次或现在阅读来自代理的任何消息。无论消费者是否消费消息,kafka 都会将消息存储配置的时间,然后删除。
也许可以编写一些脚本来实现这一点,但我强烈建议不要这样做。