清理策略:压缩/删除和日志保留

时间:2019-04-10 11:01:27

标签: apache-kafka

我对Kafka Topic清理策略及其与log.retention的交互有疑问。

例如,如果我将cleanup.policy设置为compact,那么压缩将仅在主题的保留时间之后开始,或者保留时间对压缩没有影响?

问题的第二部分,如果我一起使用压缩,则删除,并且我有log.retention可以说1天,话题一直压缩,但是话题的内容会在一天后被删除吗?还是一天后实现压缩和删除?

寻求答案...

1 个答案:

答案 0 :(得分:0)

可以删除或压缩日志段,或同时压缩两者,以管理其大小。主题级配置cleanup.policy确定了管理主题日志段的方式。

通过压缩清除日志

如果将主题级别的配置cleanup.policy设置为compact,则日志清理器会在后台定期压缩主题日志。

在紧凑的主题中,日志仅需要包含每个键的最新消息,而较早的消息可以被丢弃。

无需将log.retention设置为-1或任何其他值。您的主题将被压缩,并且旧消息绝不会被删除(按照压缩规则)。

请注意,只能压缩非活动文件段;活动段永远不会被压缩。

同时使用两者进行日志清除

您可以同时为delete配置指定compactcleanup.policy值。在这种情况下,将压缩日志,但是清除过程也将遵循retention timesize limit设置。

我建议您通过以下链接

https://ibm.github.io/event-streams/installing/capacity-planning/

https://kafka.apache.org/documentation/#compaction

https://cwiki.apache.org/confluence/display/KAFKA/KIP-71%3A+Enable+log+compaction+and+deletion+to+co-exist