5
votes

Kafkacat: comment supprimer un sujet ou tous ses messages?

Je cherche un moyen de supprimer un sujet ou tous ses messages en utilisant kafkacat . Est-ce possible ou le seul moyen est d'utiliser le script répertorié ici ?

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


0 commentaires

3 Réponses :


4
votes

Il n'y a pas de fonction de suppression de sujet à ce stade dans kafkacat selon la page de manuel et le code source de github. Le seul moyen est donc d'utiliser le script kafka-topics.

code source github a >

page de manuel p>

kafkacat est un producteur et consommateur générique non JVM pour Apache Kafka 0.8, considérez-le comme un netcat pour Kafka.

 In producer mode ( -P ), kafkacat reads messages from stdin, delimited with a configurable
 delimeter and produces them to the provided Kafka cluster, topic and partition. In consumer
 mode ( -C ), kafkacat reads messages from a topic and partition and prints them to stdout
 using the configured message delimiter.

 If neither -P or -C are specified kafkacat attempts to figure out the mode automatically
 based on stdin/stdout tty types.

 kafkacat also features a metadata list mode ( -L ), to display the current state of the
 Kafka cluster and its topics and partitions.


0 commentaires

-2
votes

Oui, c'est possible.

Mais d'abord, vous devez activer la suppression de sujets sur tous les courtiers. remplacez delete.topic.enable par true . Par défaut, c'est false (dans le fichier server.properties )

Ensuite, Utilisez la commande de suppression de sujet.

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

Si vous souhaitez supprimer définitivement ce sujet, Vous pouvez utiliser la commande de suppression du gardien de zoo.

  1. Répertoriez les sujets existants: ./zookeeper-shell.sh localhost: 2181 ls / brokers / topics
  2. Supprimer le sujet: ./zookeeper-shell.sh localhost: 2181 rmr / brokers / topics / yourtopic


2 commentaires

Je veux juste montrer pourquoi tu as des inconvénients. La question est "Puis-je supprimer le sujet d'une autre manière que kafka-topics.sh ?". Et votre réponse est "Oui, c'est kafka-topics.sh ".


Mais vous avez manqué la deuxième partie zookeeper-shell.sh



0
votes

Comme l'a souligné @Naween Banuka, vous pouvez également utiliser zookeeper-shell.sh ou zkCli.sh (trouvé sous zookeeper / bin) pour faire ceci:

Répertoriez les sujets existants: ./zookeeper-shell.sh localhost: 2181 ls / brokers / topics

Supprimer le sujet: ./zookeeper-shell.sh localhost: 2181 rmr / brokers / topics / yourtopic


0 commentaires