前言

Kafka 会数据写到硬盘上。磁盘空间有限,kafka 有提供清理过期数据的策略。 Kafka 删除数据有两种方式:

  1. 第一种是按照时间,超过一段时间后删除过期消息;

  2. 第二种是按照消息大小删除数据的,消息数量超过一定大小后删除最旧的数据。

确认在过期数据过期的时候,数据已经被消费!!!!

配置

启用删除策略

log.cleanup.policy=delete

直接删除,删除后的消息不可恢复。 可配置以下两个策略: 清理超过指定时间清理:

log.retention.hours=16

log.retention.minutes=60

log.retention.ms=3600000

超过指定大小后,删除旧的消息:

log.retention.bytes=1073741824

无论时间还是空间维度,只要满足其中一个 log 就会被清理。

检查周期

上面的条件满足了,那多久检查一次呢

log.retention.check.interval.ms=300000

这个参数就是设置检查周期的