我使用Kafka作为事件采购系统的事件存储。
在集成测试中,我通过运行
删除Kafka中当前可用的所有主题kafka-topics.sh --zookeeper localhost:2181 --delete --topic <topic-name>
对于每个现有主题,以确保“旧”数据不会影响以下测试。
我知道主题仅标记为删除,但未删除。而且,在大多数情况下,对我来说没问题。
但是在某些测试用例中,当我再次创建主题时(通过在主题中写入记录),主题不会被删除。在这种情况下,Kafka会抛出UnknownTopicOrPartitionException
。
我想知道是否有某种方法可以强制Kafka删除该主题(或者至少增加删除的可能性)。
我会对任何建议表示感谢。
我正在使用Kafka 0.11.0.1
答案 0 :(得分:0)
您不必删除该主题即可丢弃&#34; old&#34;数据。你可以通过停止Kafka服务器,删除主题的日志目录,然后再次启动Kafka来实现这一点。
主题的目录位于日志目录中,由代理配置中的log.dir
指定,并带有主题名称的前缀。