web-dev-qa-db-fra.com

Supprimer le sujet dans Kafka 0.8.1.1

Je dois supprimer le sujet test dans Apache Kafka 0.8.1.1.

Comme indiqué dans la documentation ici , j'ai exécuté:

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

Toutefois, cela entraîne le message suivant:

Command must include exactly one action: --list, --describe, --create or --alter

Comment puis-je supprimer ce sujet?

77
EmPak5

La suppression de sujet ne fonctionne pas toujours dans la 0.8.1.1

La suppression devrait fonctionner dans la prochaine version, 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.

Est-il possible de supprimer un sujet?

Jira KAFKA-1397

88
frank

Il semble que la commande de suppression n'ait pas été officiellement documentée dans Kafka 0.8.1.x à cause d'un bogue connu ( https://issues.Apache.org/jira/browse/KAFKA-1397 ).

Néanmoins, la commande était toujours incluse dans le code et pouvait être exécutée comme suit:

bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper localhost:2181 --topic test

Dans l'intervalle, le bogue a été corrigé et la commande de suppression est maintenant officiellement disponible à partir de Kafka 0.8.2.0 en tant que:

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

Ajouter la ligne ci-dessous dans $ {kafka_home} /config/server.properties

delete.topic.enable=true

Redémarrez le serveur Kafka avec la nouvelle configuration:

${kafka_home}/bin/kafka-server-start.sh ~/kafka/config/server.properties

Supprimez les sujets que vous souhaitez:

${kafka_home}/bin/kafka-topics.sh --delete  --zookeeper localhost:2181  --topic daemon12
36
daemon12

Andrea a raison. nous pouvons le faire en utilisant la ligne de commande.

Et nous pouvons toujours le programmer, par

ZkClient zkClient = new ZkClient("localhost:2181", 10000);
zkClient.deleteRecursive(ZkUtils.getTopicPath("test2"));

En fait, je ne vous recommande pas de supprimer le sujet sur Kafka 0.8.1.1. Je peux supprimer ce sujet par cette méthode, mais si vous vérifiez le journal pour zookeeper, la suppression gâche tout.

10
Liang

Les étapes pour supprimer un ou plusieurs sujets dans Kafka

Pour supprimer des sujets dans kafka, l'option de suppression doit être activée sur le serveur Kafka.

1. Go to {kafka_home}/config/server.properties
2. Uncomment delete.topic.enable=true

Supprimer un sujet dans Kafka, entrez la commande suivante

kafka-topics.sh --delete --zookeeper localhost: 2181 --topic 

Supprimer plus d'un sujet de kafka

(bon à des fins de test, où j'ai créé plusieurs sujets et ai dû les supprimer pour différents scénarios)

  1. Arrêtez le serveur Kafka et Zookeeper
  2. allez dans le dossier/tmp où les journaux sont stockés et supprimez le dossier kafkalogs et zookeeper manuellement
  3. Redémarrez le serveur Zookeeper et Kafka et essayez de lister les sujets,

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

si aucun sujet n'est répertorié, tous les sujets ont été supprimés avec succès. Si les sujets sont répertoriés, la suppression a échoué. Réessayez les étapes ci-dessus ou redémarrez votre ordinateur.

4
CodeUrLife

Vous pouvez supprimer un sujet spécifique de kafka (exemple: test) à partir de la commande zookeeper Shell (zookeeper-Shell.sh). Utilisez la commande ci-dessous pour supprimer le sujet.

rmr {path of the topic}

exemple:

rmr /brokers/topics/test
4
user1293543

Cette étape supprimera tous les sujets et toutes les données

  • Arrêtez les serveurs Kafka et Zookeeper
  • Supprimez les répertoires de données tmp des deux services. Par défaut, ils sont C:/tmp/kafka-logs et C:/tmp/zookeeper.
  • puis démarrez Zookeeper-server et Kafka-server
2
Venkatesh Boya

La commande:

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

malheureusement, ne marque que le sujet à supprimer.

La suppression ne se produit pas. 

Cela pose des problèmes, tout en testant les scripts, qui prépare la configuration de Kafka.

Fils connectés: 

Comme mentionné dans le doc ici

L'option de suppression de sujet est désactivée par défaut. Pour l'activer, définissez la configuration du serveur delete.topic.enable = true Kafka ne prend actuellement pas en charge la réduction du nombre de partitions pour une rubrique ou la modification du facteur de réplication.

Assurez-vous que delete.topic.enable = true

1
abmd

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

1
Avinav Mishra

En ajoutant aux réponses ci-dessus, il faut supprimer les métadonnées associées à ce sujet dans le chemin de décalage du consommateur zookeeper.

bin/zookeeper-Shell.sh zookeeperhost:port

rmr /consumers/<sample-consumer-1>/offsets/<deleted-topic>

Sinon, le retard sera négatif dans les outils de suivi de kafka basés sur zookeeper.

1
Knight71

Si vous rencontrez des problèmes lors de la suppression des sujets, essayez de supprimer le sujet en utilisant:

$KAFKA_HOME/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name

commander. Ensuite, pour vérifier le processus de suppression, accédez au répertoire de journaux kafka qui est normalement placé sous /tmp/kafka-logs/, puis supprimez le fichier your_topic_name à l'aide de la commande rm -rf your_topic_name.

N'oubliez pas de surveiller l'ensemble du processus via un outil de gestion de kafka tel que Kafka Tool

Le processus mentionné ci-dessus supprimera les sujets sans redémarrer le serveur Kafka.

0
Vahid F

Tout d'abord, vous exécutez cette commande pour supprimer votre sujet:

$ bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic <topic_name>

Liste les sujets actifs pour vérifier supprimer complètement:

$ bin/kafka-topics.sh --list --bootstrap-server localhost:9092
0
yuen26

Étape 1: Assurez-vous d'être connecté à Zookeeper et à Kafka en cours d'exécution 

Étape 2: Pour déléler le sujet Kafka, lancez Kafka-topic (Mac) ou Kafka-topic.sh si vous l’utilisez (linux/Mac), ajoutez le port et --topic avec le nom de votre sujet et Succès. 

# Delete the kafka topic
# it will delete the kafka topic
kafka-topics --zookeeper 127.0.0.1:2181 --topic name_of_topic --delete
# or
kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic name_of_topic --delete
0
Black_Dreams