卡夫卡主题删除

时间:2017-09-18 14:18:58

标签: java apache-kafka integration-testing

我使用Kafka作为事件采购系统的事件存储。

在集成测试中,我通过运行

删除Kafka中当前可用的所有主题
kafka-topics.sh --zookeeper localhost:2181 --delete --topic <topic-name> 

对于每个现有主题,以确保“旧”数据不会影响以下测试。

我知道主题仅标记为删除,但未删除。而且,在大多数情况下,对我来说没问题。

但是在某些测试用例中,当我再次创建主题时(通过在主题中写入记录),主题不会被删除。在这种情况下,Kafka会抛出UnknownTopicOrPartitionException

我想知道是否有某种方法可以强制Kafka删除该主题(或者至少增加删除的可能性)。

我会对任何建议表示感谢。

我正在使用Kafka 0.11.0.1

1 个答案:

答案 0 :(得分:0)

您不必删除该主题即可丢弃&#34; old&#34;数据。你可以通过停止Kafka服务器,删除主题的日志目录,然后再次启动Kafka来实现这一点。

主题的目录位于日志目录中,由代理配置中的log.dir指定,并带有主题名称的前缀。