无法从 Kafka 中删除主题

che*_*dev 6 apache-kafka

即使在server.config中启用了delete.topic.enable=true后,删除主题也不起作用。再次重新创建主题时出现以下错误:

Topic 'test' already exists.
[2017-05-23 06:47:05,757] ERROR
org.apache.kafka.common.errors.TopicExistsException: Topic 'test' already exists.
Run Code Online (Sandbox Code Playgroud)

okw*_*wap 9

您在使用主题时无法删除该主题。使用bin/kafka-consumer-groups.sh或 simpleps -aux|grep Consumer来查找任何可能阻止操作的消费者。


str*_*tle 1

如果您使用最新的 Kafka(v.~0.10.),那么在启用该delete.topic.enable=true选项后,您必须:

  1. 重启卡夫卡
  2. 删除主题:

    kafka-topics.sh --zookeeper localhost:2181 --topic mytopic --delete
    
    Run Code Online (Sandbox Code Playgroud)
  3. 检查它是否已标记为删除:

    kafka-topics.sh --zookeeper localhost:2181 --list
    mytopic - marked for deletion
    
    Run Code Online (Sandbox Code Playgroud)
  4. 稍等一下。

如果您使用某些旧版本的 Kafka,请尝试从 Zookeeper-shell 中删除该主题。