7

我正在寻找一种使用kafkacat. 是否有可能或唯一的方法是通过此处列出的脚本?

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

3 回答 3

4

根据手册页和github源代码,kafkacat现阶段没有删除主题功能。所以唯一的方法是使用 kafka-topics 脚本。

github源代码

手册页

kafkacat 是 Apache Kafka 0.8 的通用非 JVM 生产者和消费者,可以将其视为 Kafka 的 netcat。

 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.
于 2019-04-19T10:16:01.967 回答
0

正如@Naween Banuka 指出的那样,您还可以使用 zookeeper-shell.sh 或 zkCli.sh(在 zookeeper/bin 下找到)来执行此操作:

列出现有主题:./zookeeper-shell.sh localhost:2181 ls /brokers/topics

删除主题:./zookeeper-shell.sh localhost:2181 rmr /brokers/topics/yourtopic

于 2020-09-04T22:06:57.833 回答
-3

是的,这是可能的。

但首先,您必须在所有代理上启用主题删除。更改delete.topic.enabletrue. 默认情况下,它是false(在server.properties文件中)

然后,使用主题删除命令。

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

如果要永久删除该主题,可以使用 zookeeper delete 命令。

  1. 列出现有主题:./zookeeper-shell.sh localhost:2181 ls /brokers/topics
  2. 删除主题:./zookeeper-shell.sh localhost:2181 rmr /brokers/topics/yourtopic
于 2019-04-19T10:33:34.640 回答