Kafka系列之:日志清理
一、日志清理
- Kafka将消息存储在磁盘中,为了控制磁盘占用空间的不断增加就需要对消息做一定的清理操作。
- Kafka中每一个分区副本都对应一个Log,而Log又可以分为多个日志分段,这样也便于日志的清理操作。
Kafka提供了两种日志清理策略:
- 日志删除:按照一定的保留策略直接删除不符合条件的日志分段
- 日志压缩:针对每个消息的key进行整合,对于有相同key的不同value值,只保留最后一个版本。
日志清理策略设置:
-
可以通过broker端参数log.cleanup.policy来设置日志清理策略,此参数的默认值为delete,即采用日志删除的清理策略。
-
如果要采用日志压缩的清理策略,就需要将log.cleanup.policy设置为compact,并且还需要将log.cleaner.enable(默认值为true)设定为true。
-
通过将log.cleanup.policy参数设置为"delete、compact",可以同时支持日志删除和日志压缩两种策略。
-
日志清理的粒度可以控制到主题级别,比如与log.cleanup.policy对应的主题级别的参数为cleanup.policy。

本文详细介绍了Kafka的日志清理机制,包括日志删除和日志压缩两种策略。日志清理策略可通过log.cleanup.policy参数设置,如需启用日志压缩需额外设置log.cleaner.enable。Kafka提供基于时间、日志大小和日志起始偏移量的保留策略,以控制日志分段的删除。日志删除任务按设定周期检查并删除过期日志,确保磁盘空间的有效管理。
订阅专栏 解锁全文
462

被折叠的 条评论
为什么被折叠?



