关于删除Kafka主题的困惑

Jac*_*ack 6 apache-kafka

我正在使用Kafka 0.8.0,它是Cloudera版本.当我删除以下主题时:kafka-topics --zookeeper 10.0.0.11:2181/ --delete --topic test 它响应:

Topic test is already marked for deletion.
Run Code Online (Sandbox Code Playgroud)

但之后我重新创建它,它抛出异常如下:

kafka-topics --create --zookeeper 10.0.0.11:2181 --partitions 90 --replication-factor 2 --topic test

Error while executing topic command Topic "test" already exists.
kafka.common.TopicExistsException: Topic "test" already exists.
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我该如何删除主题及其数据.

Sha*_*Guo 7

我的Kakfa版本是kafka_2.10-0.8.2.2,以下链接适用于我(来自Kafka 0.8.1.1中的删除主题)

添加以下行 ${kafka_home}/config/server.properties

delete.topic.enable=true   
Run Code Online (Sandbox Code Playgroud)

使用新配置重新启动kafka服务器:

${kafka_home}/bin/kafka-server-start.sh ~/kafka/config/server.properties
Run Code Online (Sandbox Code Playgroud)

删除您想要的主题:

${kafka_home}/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic daemon12
Run Code Online (Sandbox Code Playgroud)

来自Kafka常见问题的更多信息:

自0.8.2.x起支持删除主题.您需要首先在所有代理上启用主题删除(将delete.topic.enable设置为true).


小智 5

  1. 请确保,在kafka的config.poperties文件中,"delete.topic.enable"属性应为true.
  2. 使用以下命令

    bin/kafka-topics.sh --delete --zookeeper localhost:2181 - topic test

即使未删除主题,也请按照后续步骤操作.

  1. open terminal zookeeper客户端模式:

    A.停止动物园管理员

    B. rmr /经纪人/主题

    C.使用以下命令检查给定主题

    /bin/kafka-topics.sh --zookeeper maxiq:2181 --list