Rishi Arora
Necesito eliminar un tema en Kafka 0.8.2.2.3. He usado el siguiente comando para eliminar el tema:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic
El comando se ejecutó con éxito, pero cuando ejecuto un comando para enumerar los temas, pude ver que el tema todavía está allí y se muestra marcado para borrar.
bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion
Y cuando creo el tema DummyTopic, genera la excepción. El tema ya existe y, a continuación, se muestra el seguimiento de la pila:
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)
¿Cómo puedo eliminar este tema?
ravindra babu
Se admite la eliminación de un tema desde la versión 0.8.2.x. Tienes que habilitar la eliminación de temas (configuración delete.topic.enable
a verdadero) en todos los corredores primero.
Nota: Desde 1.0.x, la funcionalidad es estable, delete.topic.enable
es por defecto true
.
Siga este proceso paso a paso para la eliminación manual de temas
- Detener Kafka servidor
- Eliminar el directorio de temas, en cada corredor (como se define en el
logs.dirs
ylog.dir
propiedades) conrm -rf
dominio - Conectar a cuidador del zoológico instancia:
zookeeper-shell.sh host:port
- desde dentro de la cuidador del zoológico instancia:
- Enumere los temas usando:
ls /brokers/topics
- Eliminar la carpeta de temas de guardián del zoológico usando:
rmr /brokers/topics/yourtopic
- Salga de la instancia de Zookeeper (Ctrl+C)
- Enumere los temas usando:
- Reanudar Kafka servidor
- Confirme si se eliminó o no usando este comando
kafka-topics.sh --list --zookeeper host:port
-
¡El enlace está roto!
– Rubbal
1 de febrero de 2017 a las 9:39
-
¿Dónde está el directorio “/brokers/topics”? parece que no puedo encontrar esa carpeta
– Vipresh
20 de julio de 2017 a las 11:41
-
no puedo creer que sea tan dificil borrar un tema
– Erik K.
16 ago 2019 a las 20:50
-
rmr
el comando está en desuso. puedes usardeleteall
en lugar dermr
– Nafaz MNM
2 de noviembre de 2020 a las 16:35
-
Visito esta respuesta cada dos semanas. A veces varias veces en una semana.
– Neelesh
23 de junio de 2021 a las 7:04
Apache Kafka nunca elimina un tema marcado para su eliminación si ese tema tiene productores que aún producen, o consumidores que aún consumen de él, o mensajes que quedan en la cola. Una forma de intentar forzarlo es reiniciar Kafka. O si eso no funciona, vaya debajo del capó y elimine el directorio que es el nombre de su tema en /var/local/kafka/data y luego reinicie Kafka y luego vuelva a emitir el comando de eliminación. Desearía que Apache Kafka tuviera una opción de “nuke the bleeping topic” para que el desarrollador pueda emitir el comando: “Realmente, totes de verdad esta vez bombardee el tema bleeping sin descaro, por favor”.
–Eric Leschinski
7 sep 2016 a las 21:07
bin/kafka-topics.sh –delete –zookeeper localhost:2181 –tema
– Avinav Mishra
21 de febrero de 2017 a las 2:16
La opción zookeeper está en desuso, use –bootstrap-server en su lugar. stackoverflow.com/a/53429129/5456789
– Amir Azizkhani
6 de julio de 2022 a las 10:40
Esto funcionó para mí (dentro de la ventana acoplable): bin/kafka-topics –delete –topic DummyTopic –bootstrap-server localhost:29092
– Enrico Giurin
28 de noviembre de 2022 a las 3:46