Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除apache kafka中的主题_Java_Apache Kafka - Fatal编程技术网

Java 如何删除apache kafka中的主题

Java 如何删除apache kafka中的主题,java,apache-kafka,Java,Apache Kafka,我需要删除kafka-0.8.2.2.3中的一个主题。我已使用以下命令删除主题: bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic 该命令已成功执行,但当我运行命令列出主题时,我可以看到主题仍然存在,并显示标记为删除的 bin/kafka-topics.sh --list --zookeeper localhost:2181 DummyTopic - marked for deletion 当

我需要删除kafka-0.8.2.2.3中的一个主题。我已使用以下命令删除主题:

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic
该命令已成功执行,但当我运行命令列出主题时,我可以看到主题仍然存在,并显示标记为删除的

bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion
当我创建主题DummyTopic时,它会输出异常,该主题已经存在,下面是堆栈跟踪:

Error while executing topic command Topic "DummyTopic" already exists.
kafka.common.TopicExistsException: Topic "DummyTopic" already exists.
    at kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:248)
    at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:233)
    at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:92)
    at kafka.admin.TopicCommand$.main(TopicCommand.scala:54)
    at kafka.admin.TopicCommand.main(TopicCommand.scala)

请告诉我如何删除此主题。

自0.8.2.x版本以来,支持删除主题。您必须首先在所有代理上启用主题删除(将
delete.topic.enable
设置为true)

注意:从1.0.x开始,功能稳定,
delete.topic.enable
默认为
true

按照此步骤手动删除主题

  • 停止卡夫卡服务器
  • 使用
    rm-rf
    命令删除每个代理上的主题目录(定义见
    logs.dirs
    log.dir
    属性)
  • 连接到Zookeeper实例:
    Zookeeper-shell.sh主机:端口
  • 从Zookeeper实例中:
  • 使用以下命令列出主题:
    ls/brokers/topics
  • 使用以下命令从ZooKeeper中删除主题文件夹:
    rmr/brokers/topics/yourtopic
  • 退出Zookeeper实例(Ctrl+C)
  • 重新启动Kafka服务器
  • 使用此命令确认是否已将其删除
    kafka-topics.sh--列表--zookeeper主机:端口

  • Apache Kafka从不删除标记为删除的主题,如果该主题的制作者仍在制作该主题,或者消费者仍在使用该主题,或者消息仍挂在队列中。一种试图强迫它的方法是重启卡夫卡。或者,如果这不起作用,请在引擎盖下删除/var/local/kafka/data下作为主题名的目录,然后重新启动kafka,然后重新发出Delete命令。我希望Apache Kafka有一个“nuke the bleeping topic”选项,这样开发人员就可以发出命令:“真的,这次要真正nuke the bleeping topic no sass please”。bin/Kafka-topics.sh–delete–zookeer localhost:2181–topic链接断开了!“/brokers/topics”目录在哪里?似乎找不到folderUse
    zookeeper shell.sh
    来访问zookeeper和
    ls/brokers/topics
    注意:如果您使用--delete from kafka-topics.sh-->,请确保没有消费者运行-->并在所有kafka代理的server.properties文件中设置“delete.topic.enable:true”。我不敢相信删除一个主题会如此困难