有没有办法删除队列消息而不删除Kafka主题?
我想在激活消费者时删除队列消息。
我知道有以下几种方法:
重置保留时间 $ ./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic MyTopic --config retention.ms=1000
删除Kafka文件 $ rm -rf /data/kafka-logs/<topic/Partition_name>
有没有办法删除队列消息而不删除Kafka主题?
我想在激活消费者时删除队列消息。
我知道有以下几种方法:
重置保留时间 $ ./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic MyTopic --config retention.ms=1000
删除Kafka文件 $ rm -rf /data/kafka-logs/<topic/Partition_name>
2条答案
按热度按时间c6ubokkw1#
在0.11或更高版本中,可以运行
bin/kafka-delete-records.sh
命令将邮件标记为删除。https://github.com/apache/kafka/blob/trunk/bin/kafka-delete-records.sh
例如,发布100条消息
然后用新的
kafka-delete-records.sh
命令行工具哪里
offsetfile.json
包含然后从头开始使用消息,以验证100条消息中有90条确实标记为已删除。
3xiyfsfu2#
要删除特定主题中的所有邮件,可以运行
kafka-delete-records.sh
例如,我有一个主题叫做test
,其中有4个partitions
.创建
Json
例如,文件j.json
:现在通过以下命令删除所有消息:
执行命令后,将显示此消息