欢迎光临散文网 会员登陆 & 注册

案例分析:记一次永久删除Kafka的Topic的故事

2022-06-06 11:18 作者:做架构师不做框架师  | 我要投稿


背景

一天早上,我到公司还没坐稳,运营团队的大佬就来找我说:“小米,系统登录不上去了,一直提示操作失败,你给看看,挺急的”,我立刻把电脑从背包拿出来,打开系统日志,发现redis异常,截图如下:

发现RDB无法磁盘上持久化,去看了Redis日志,报以下日志:

No space left on device

磁盘空间满了,用dum命令一看,乖乖儿,果然满了,kafka占190多个G,进入kafka日志文件夹里一看,光光example这个topic就占了大头,但诡异的是咱们查看了所有相关配置,项目里没有配置这个topic,那就着手删除……

步骤一:删除kafka中topic存储目录

rm -rf example-0

步骤二:查看所有主题

./bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list

步骤三:删除example主题

./bin/kafka-topics.sh  --delete --zookeeper 127.0.0.1:2181 --topic example

如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic.enable=true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion

步骤四:登录zookeeper

./bin/zkCli.sh

步骤五:查看所有topic

ls/brokers/topics

步骤六:删除topic

rmr /brokers/topics/example

至此,彻底删除了该topic,经过定期的观看没有发现该topic数据。

步骤七:禁用主题自动创建

一般情况下,Kafka生产环境中的配置文件中,会配置如下参数:

auto.create.topics.enable=false

这样可以确保topic不会自动创建。

写在最后

好兄弟可以点赞并关注我的公众号“javaAnswer”,全部都是干货。


案例分析:记一次永久删除Kafka的Topic的故事的评论 (共 条)

分享到微博请遵守国家法律