kafka的topic默认是不允许被删除的,删除后在topic后会出现”marked for deletion”字样,实际并未删除,现在创建同样的topic会提示topic已经存在。
解决办法:
server.properties配置文件中添加:delete.topic.enable=true
之后重启kafka,会发现之前被标记删除的topic已经不存在了。
kafka操作基本命令:
创建topic(replication-factor为集群broker数量):
bin/kafka-topics.sh --create --zookeeper zkserver:zkport --replication-factor 1 --partitions 1 --topic topic-name
删除topic:
bin/kafka-topics.sh --delete --zookeeper zkserver:zkport --topic topic-name
查看topic消费消息:
kafka-console-consumer --zookeeper zkserver:2181 --topic ${topic-name} --from-beginning
查看topic列表:
bin/kafka-topics.sh --list --zookeeper zkserver:zkport --topic