我试图理解,如果我在使用时间时将“log.cleanup.policy”设置为同时具有“删除”和“压缩”,那么压缩和日志清理是如何发生的基于保留策略。
假设我们的保留期为 7 天(默认),在这 7 天内我的数据流低于模式,请帮助我了解 7 天后的情况。
最佳答案
当您同时使用 compact 和 delete 作为 log.cleanup.policy
时。日志将在后台定期压缩,以至少保留单个主题分区数据日志中每个消息键的最后一个已知值。可以使用此配置参数配置压缩:
log.cleaner.min.compaction.lag.ms:消息在日志中保持未压缩状态的最短时间
log.cleaner.max.compaction.lag.ms:消息在日志中保持不符合压缩条件的最长时间
正如你已经说过的,对于你的例子:
压缩前:
压缩后:
在 log.retention.hours
时间段后,日志也会被删除,而不考虑它是否被压缩。根据此参数检查日志保留:
log.retention.check.interval.ms:日志清理器检查是否有任何日志符合删除条件的频率(以毫秒为单位)(默认为 5 分钟)
关于apache-kafka - 当我使用基于时间的保留策略时,如果将 'log.cleanup.policy' 设置为 'delete' 和 'compact',数据日志会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59830588/