Search code examples
apache-kafkakcat

Kafkacat: how to delete a topic or all its messages?


I am looking for a way to delete a topic or all its messages using kafkacat. Is it possible or the only way is through the script listed here?

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

Solution

  • There is no delete topic feature at this stage in kafkacat according to man page and github source code. So the only way is to use kafka-topics script.

    github source code

    man page

    kafkacat is a generic non-JVM producer and consumer for Apache Kafka 0.8, think of it as a netcat for 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.