我使用kafka作为事件源系统的事件存储。
在集成测试中,我通过运行
kafka-topics.sh --zookeeper localhost:2181 --delete --topic <topic-name>
对于每个现有主题,确保“旧”数据不会影响以下测试。
我知道这些主题只被标记为删除,而不是就地删除。而且,在大多数情况下,这对我来说没关系。
但是在一些测试用例中,当我再次创建一个主题(通过在主题中写入一条记录)时,它不会被删除。在这种情况下,Kafka抛出 UnknownTopicOrPartitionException
.
我想知道有没有办法强制Kafka删除这个主题(或者至少增加删除的机会)。
如有任何建议,我将不胜感激。
我用的是Kafka0.11.0.1
1条答案
按热度按时间ojsjcaue1#
您不必为了丢弃“旧”数据而删除主题。您可以通过停止kafka服务器、删除主题的日志目录并再次启动kafka来实现这一点。
主题的目录位于日志目录中,由指定
log.dir
在代理的配置中,使用主题名称的前缀。