Kafka的消息存储在磁盘中,为了控制磁盘占用空间,kafka需要不断地对过去一些消息进行清理工作。
Kafka的每个分区都有很多的日志文件,这也是为了方便进行日志清理。在kafka中,提供两种日志清理方式:
- 日志删除:log deletion,按照指定的策略直接删除不符合条件的日志。
- 日志压缩:log compaction,按照消息的key进行整合,有相同的key的但有不同的value值,值保留最好一个版本。
Kafka的broker或topic配置中
配置项 |
配置值 |
说明 |
Log.cleaner.enable |
true默认 |
开启自动清理日志功能 |
Log.cleanup.policy |
delete默认 |
删除日志 |
Log.cleanup.policy |
compact |
压缩日志 |
Log.cleanup.policy |
Delete.compact |
同时支持删除、压缩 |