kafka彻底删除topic

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 今天发现一个线上kafka(版本为0.8.2.2)多天前已不再消费的topic标记为删除(marked for deletion),而我们每天有定时删除topic的shell脚本,会把无用的topic干掉,但发现这些topic只是被标记为删除,而并没有真正删除,其server.

今天发现一个线上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的信息

目录
相关文章
|
6月前
|
消息中间件 存储 负载均衡
深入了解Kafka中Topic的神奇之处
深入了解Kafka中Topic的神奇之处
503 0
|
6月前
|
消息中间件 Kafka 流计算
Flink的分区表订阅功能是通过Kafka的topic分区来实现的
Flink的分区表订阅功能是通过Kafka的topic分区来实现的【1月更文挑战第6天】【1月更文挑战第26篇】
131 1
|
1月前
|
消息中间件 存储 分布式计算
大数据-53 Kafka 基本架构核心概念 Producer Consumer Broker Topic Partition Offset 基础概念了解
大数据-53 Kafka 基本架构核心概念 Producer Consumer Broker Topic Partition Offset 基础概念了解
63 4
|
2月前
|
消息中间件 Kafka Apache
kafka: invalid configuration (That topic/partition is already being consumed)
kafka: invalid configuration (That topic/partition is already being consumed)
|
4月前
|
消息中间件 监控 Kafka
查询Kafka集群中消费组(group)信息和对应topic的消费情况
查询Kafka集群中消费组(group)信息和对应topic的消费情况
2395 0
|
6月前
|
消息中间件 负载均衡 监控
【Kafka】Kafka 创建Topic后如何将分区放置到不同的 Broker 中?
【4月更文挑战第13天】【Kafka】Kafka 创建Topic后如何将分区放置到不同的 Broker 中?
|
6月前
|
消息中间件 存储 缓存
【Kakfa】Kafka 的Topic中 Partition 数据是怎么存储到磁盘的?
【4月更文挑战第13天】【Kakfa】Kafka 的Topic中 Partition 数据是怎么存储到磁盘的?
|
6月前
|
消息中间件 存储 Java
Kafka的Topic CRUD演示
Kafka的Topic CRUD演示
47 0
|
6月前
|
消息中间件 Kafka API
kafka topic 管理api
kafka topic 管理api
77 0
|
6月前
|
消息中间件 存储 监控
Kafka中的Topic
在Kafka中,Topic是消息的逻辑容器,用于组织和分类消息。本文将深入探讨Kafka Topic的各个方面,包括创建、配置、生产者和消费者,以及一些实际应用中的示例代码。