介绍
Kafka默认将topic中的消息保存 7天
Log Cleanup 日志清理
数据清除,称之为 Log Cleanup 日志清理,在Kafka中,日志分为两种:
数据日志:即topic中的消息
数据日志是指Kafka的topic中存储的数据,这种日志的路径是在$KAFKA_HOME/config/server.properties文件中配置操作日志:类似于我们在自己开发的程序中输出的log日志(log4j)
如一般我们在KAFKA_HOME路径下启动Kafka服务,那么操作日志的路径为KAFKA_HOME/logs。
Log Cleanup 日志清理,指清理topic中的消息
清理方式
有两种:delete 和 compact
配置项:
log.cleanup.policy = delete
log.cleanup.policy = compact
清理方式:delete方式(推荐)
默认使用方式
触发机制
- 过期时间
- 分区内总日志大小
触发机制:过期时间(推荐)
修改Kafka中数据日志被保留的时间长度,可以通过下面三个选项来实现:
log.retention.ms:表示日志会被保留多少毫秒,如果为null,则Kafka会使用使用log.retention.minutes配置项。
log.retention.minutes:表示日志会保留多少分钟,如果为null,则Kafka会使用log.retention.hours选项。默认情况下,log.retention.ms和log.retention.minutes均为null,
log.retention.hours:默认为168,即Kafka的数据日志默认会被保留 7天。
触发机制:分区内总日志大小
默认关闭
配置项:
- log.retention.bytes:日志文件到达多少byte后再删除日志文件。默认为-1,即无限制。
清理方式:compact 方式
压缩方式,对于相同key的不同value,只保留最后一个版本
参考:
https://blog.csdn.net/zfw_666666/article/details/124428317
