【kafka系列教程38】kafka彻底删除topic

kafka0.8.1.1以及之前版本都无法使用类似一条命令就彻底删除topic,以前看过网上一些删除命令不过只是在zookeeper注销信息而已,但是实际的日志内容还是保存在kafka log中,因为个人需要所以慢慢琢磨了方法彻底清除topic(ps:kafka0.8.2好像直接支持直接删除,不过现在还是beta版 )。

机器环境如下:

Kafka目录:/usr/local/kafka_2.10-0.8.1.1
日志保存目录log.dirs:/data1/kafka/log/
删除的topic名字:zitest2

1、从zookeerer删除信息:

/usr/local/kafka_2.10-0.8.1.1/bin/kafka-run-class.shkafka.admin.DeleteTopicCommand --zookeeper 10.12.0.91:2181,10.12.0.92:2181,10.12.0.93:2181/kafka--topic zitest2

成功后返回信息:deletion succeeded!

2、JPS查看kill掉QuorumPeerMain和Kafka进程

3、从log.dirs目录删除文件,可以看到多个子目录名字如zitest2-0,zitest2-1…zitest2-n(就是你topic的partition个数)

rm  –fr  zitest2-0……zitest2-n

4、修改日志目录的recovery-point-offset-checkpoint和replication-offset-checkpoint文件(要小心删除,否则待会kafka不能正常启动起来)

replication-offset-checkpoint格式如下:

0
4(partition总数)
zitest2 0 0
zitest2  3 0
hehe 0 0
hehe 1 0

修改后如下:

0
2(partition总数)
hehe 0 0
hehe 1 0

把含有zitest2行全部去掉,并且把partition总数修改为减去zitest2的partition的剩余数目,同理 recovery-point-offset-checkpoint也是这样修改。

完成后就可以正常启动zookeeper和kafka。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值