kafka删除topic消息的三种方式

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

你可能感兴趣的:(kafka,分布式)