kafka彻底删除topic

今天发现一个线上kafka(版本为0.8.2.2)多天前已不再消费的topic标记为删除(marked for deletion),而我们每天有定时删除topic的shell脚本,会把无用的topic干掉,但发现这些topic只是被标记为删除,而并没有真正删除,其server.properties的相关配置如下:
delete.topic.enable=true
log.retention.hours=72
既然自动删除没起作用(后来探查到原因是我们的监控服务还在访问这个topic),那就手动删除

要彻底把topic删除需要把kafka中与该topic相关的本地数据目录及zookeeper与该topic相关的路径删除。kafka的zookeeper root为/kafka,比如要删除topic为${topic_name}


1.删除kafka相关的数据目录
首先查看数据目录在server.properties配置如下: log.dirs=/data1/kafka_logs

执行 rm -r /data1/kafka_logs/${topic_name}*

2.删除kafka topic
${KAFKA_HOME}/bin/kafka-topics.sh --delete --zookeeper ${ZOOKEEPER_HOST}:2181/kafka --topic ${topic_name}

3.删除zookeeper相关的路径
进入${ZOOKEEPER_HOME}/bin/zkCli.sh
执行下面的命令
rmr /kafka/consumers/${topic_name}-group
rmr /kafka/config/topics/${topic_name}
rmr /kafka/brokers/topics/${topic_name}
rmr /kafka/admin/delete_topics/${topic_name}

4.用下面命令查看相关的topic还在不在:
${KAFKA_HOME}/bin/kafka-topics.sh --list --zookeeper ${ZOOKEEPER_HOST}:2181/kafka --topic ${topic_name}

如果仍然删除不了的话,需要检查kafka数据目录中的recovery-point-offset-checkpoint和replication-offset-checkpoint文件里是否有该topic的信息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值