kafka删除topic消息的三种方式

文章介绍了删除Kafka中Topic的三种方法:一是通过配置delete.topic.enable并使用kafka-topics.sh命令;二是设置日志清理策略如log.retention.hours;三是手动通过Zookeeper和Broker删除,但不推荐。需要注意的是,某些操作需要在Kafka启动前配置。

kafka删除topic消息的三种方式

方法一:快速配置删除法(确保topic数据不要了)

1.kafka启动之前,在server.properties配置delete.topic.enable=true

2.执行命令bin/kafka-topics.sh --delete --topic test --zookeeper zk:2181或者使用kafka-manager集群管理工具删除

注意:如果kafka启动之前没有配置delete.topic.enable=true,topic只会标记为marked for deletion,加上配置,重启kafka,之前的topick就真正删除了。

方法二:设置删除策略(确保topic数据不要了)

1.kafka启动之前,在server.properties配置

#日志清理策略选择有:delete和compact主要针对过期数据的处理,或是日志文件达到限制的额度,会被 topic创建时的指定参数覆盖
log.cleanup.policy = delete

#注意:下面有两种配置,一种是基于时间的策略,另种是基于日志文件大小的策略,两种策略同是配置的话,只要满足其中种策略,则触发Log删除的操作。删除操作总是先删除最旧的日志消息在Kafka中保存的时间,4小时之前的1og, 可以被删除掉,根据policy处理数据。
log.retention.hours=4

#当剩余空间低于log.retention.bytes字节,则开始删除
log.retention.bytes=37580963840

#每隔1000ms, logcleaner线程将检查一次,看是否符合上述保留策略的消息可以被删除
log.retention.check.interval.ms=1000

方法三:手动删除法(不推荐)(确保topic数据不要了)

前提:不允许更改server.properties配置

1.删除zk下面topic(test)

启动bin/zkCli.sh
ls /brokers/topics
rmr /brokers/topics/test
ls /brokers/topics
查topic是否删除:bin/kafka-topics.sh --list --zookeeper zk:2181

2.删除各broker下topic数据,默认目录为/tmp/kafka-logs

原文链接:https://blog.csdn.net/yiyihuazi/article/details/113103290

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值