kafka0.8.2以下版本删除topic

一些说明

kafka0.8.2及以上版本已经支持delete命令删除topic,可是之前的版本要是想删除topic还是要费一番手脚,绝对是个体力活。。。

该方法最好仅在线下开发环境中使用,毕竟要重启zookeeper和broker

步骤

1.在zk中删除topic信息(test)

$KAFKA_HOME/bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand 
--zookeeper zk1:2181,zk2:2181,zk3:2181 
--topic test

关闭zookeeper和broker

$ZOOKEEPER_HOME/bin/zkServer.sh stop
$KAFKA_HOME/bin/kafka-server-stop.sh

2.删除topic消息
进入kafka指定的log.dir位置,删除所有test相关的partition(如果你的partition较多并且分布到各个broker上,过程还是很辛苦的。)

同时修改日志目录下的 recovery-point-offset-checkpointreplication-offset-checkpoint 文件
删除其中相关的partition信息,并且把文件中第二行的partition总数减少。

3.重启服务
任务完成,重新启动zk和broker

$ZOOKEEPER_HOME/bin/zkServer.sh start
$KAFKA_HOME/bin/kafka-server-start.sh
原文地址:https://www.cnblogs.com/zhangyunlin/p/6168176.html