> 文档中心 > 消息通信kafka清理数据

消息通信kafka清理数据

   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

具体配置项参考官方文档:Apache Kafka

PDF转换