apache-kafka - applications - kafka apache quickstart
Eliminar tema en Kafka 0.8.1.1 (12)
Agregando a las respuestas anteriores, uno tiene que eliminar los metadatos asociados con ese tema en la ruta de desplazamiento del consumidor del zookeeper.
bin/zookeeper-shell.sh zookeeperhost:port
rmr /consumers/<sample-consumer-1>/offsets/<deleted-topic>
De lo contrario, el retraso será negativo en las herramientas de monitoreo kafka basadas en el cuidador del zoológico.
Necesito eliminar la test
tema en Apache Kafka 0.8.1.1.
Como se expresa en la documentación aquí , he ejecutado:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
Sin embargo, esto da como resultado el siguiente mensaje:
Command must include exactly one action: --list, --describe, --create or --alter
¿Cómo puedo eliminar este tema?
Agregue la línea siguiente en $ {kafka_home} /config/server.properties
delete.topic.enable=true
Reinicie el servidor kafka con nueva configuración:
${kafka_home}/bin/kafka-server-start.sh ~/kafka/config/server.properties
Borre los temas que desea:
${kafka_home}/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic daemon12
Andrea está en lo correcto. podemos hacerlo usando la línea de comando.
Y aún podemos programarlo, por
ZkClient zkClient = new ZkClient("localhost:2181", 10000);
zkClient.deleteRecursive(ZkUtils.getTopicPath("test2"));
En realidad, no te recomiendo que elimines el tema en Kafka 0.8.1.1. Puedo eliminar este tema con este método, pero si revisas el registro para el cuidador del zoológico, elimínalo.
Como se menciona en el documento aquí
La opción de eliminación de temas está deshabilitada de forma predeterminada. Para habilitarlo configure la configuración del servidor delete.topic.enable = true Kafka no admite actualmente la reducción del número de particiones para un tema o el cambio del factor de replicación.
Asegúrese de eliminar.topic.enable = true
El comando:
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
desafortunadamente solo marca el tema para borrar.
La eliminación no ocurre.
Eso crea problemas, al probar cualquier script, que prepara la configuración de Kafka.
Hilos conectados:
Eliminar el tema no siempre funciona en 0.8.1.1
La eliminación debería estar funcionando en la próxima versión, 0.8.2
kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name
Topic your_topic_name is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
Parece que el comando de eliminación no se documentó oficialmente en Kafka 0.8.1.x debido a un error conocido ( https://issues.apache.org/jira/browse/KAFKA-1397 ).
Sin embargo, el comando todavía se envió en el código y se puede ejecutar como:
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper localhost:2181 --topic test
Mientras tanto, el error se corrigió y el comando de eliminación ahora está disponible oficialmente en Kafka 0.8.2.0 como:
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
Pasos para eliminar 1 o más temas en Kafka
Para eliminar temas en kafka, la opción de eliminación debe estar habilitada en el servidor de Kafka.
1. Go to {kafka_home}/config/server.properties
2. Uncomment delete.topic.enable=true
Eliminar un tema en Kafka ingrese el siguiente comando
kafka-topics.sh --delete --zookeeper localhost: 2181 --topic
Para borrar más de un tema de kafka
(bueno para fines de prueba, donde creé múltiples temas y tuve que eliminarlos para diferentes escenarios)
- Detenga el Servidor Kafka y el Guardián del Zoológico
- vaya a la carpeta / tmp donde están almacenados los registros y elimine manualmente la carpeta kafkalogs y zookeeper
- Reinicia el zookeeper y el servidor kafka e intenta enumerar los temas,
bin / kafka-topics.sh --list --zookeeper localhost: 2181
si no se enumeran los temas, todos los temas se han eliminado correctamente. Si se enumeran los temas, la eliminación no se realizó correctamente. Pruebe los pasos anteriores nuevamente o reinicie su computadora.
Puede eliminar un tema kafka específico (ejemplo: test
) del comando zookeeper shell ( zookeeper-shell.sh
). Use el siguiente comando para eliminar el tema
rmr {path of the topic}
ejemplo:
rmr /brokers/topics/test
Si tiene problemas para eliminar los temas, intente eliminar el tema usando:
$KAFKA_HOME/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name
mando. Luego, para verificar el proceso de eliminación, vaya al directorio de registros kafka que normalmente se encuentra en /tmp/kafka-logs/
, luego elimine el archivo your_topic_name
través del comando rm -rf your_topic_name
.
Recuerde supervisar todo el proceso a través de una herramienta de gestión kafka como Kafka Tool
.
El proceso mencionado anteriormente eliminará los temas sin reiniciar el servidor kafka.
bin / kafka-topics.sh -delete -zookeeper localhost: 2181 -topic
Estos pasos eliminarán todos los temas y datos
- Detener Kafka-server y Zookeeper-server
- Elimine los directorios de datos tmp de ambos servicios, por defecto son C: / tmp / kafka-logs y C: / tmp / zookeeper.
- luego, inicie Zookeeper-server y Kafka-server