天天看点

kafka清理数据

默认配置server.conf里的核心配置项 #最大日志保留大小 log.retention.bytes=1073741824 #日志保留时间长度 log.retention.minutes=10 log.segment.delete.delay.ms=1000 #过期数据删除策略,最重要的配置 log.cleaner.enable=true log.cleanup.policy=delete #以上配置只对默认配置,属于全局配置,并不一定对全部topic起效

如果以上配置对你的topics不起效果,说明该topics有独立的特殊配置,用以下命令查询该topics的特殊配置(重载配置) #localhost:2182是zookeeper的ip和端口,__consumer_offsets是要查询的topics bin/kafka-configs.sh --zookeeper localhost:2182 --entity-type topics --entity-name __consumer_offsets --describe #假如结果如下: Configs for topics:__consumer_offsets are segment.bytes=104857600,cleanup.policy=compact,compression.type=uncompressed 则说明segment.bytes、cleanup.policy、compression.type这三个配置项是针对topics的,server.conf配置log.cleanup.policy, log.segment.bytes 没有起效,如果想让该配置跟随server.conf配置,则执行以下命令,一个个删除特殊配置 bin/kafka-configs.sh --zookeeper localhost:2182 --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy 如果想修改,则用以下命令 bin/kafka-configs.sh --zookeeper localhost:2182  --entity-type topics --entity-name __consumer_offsets --alter --delete-config cleanup.policy=delete

具体配置项参考官方文档:http://kafka.apache.org/documentation.html

然后你就会发现,日志基本被清空了!!!