【发布时间】:2020-06-12 11:02:13
【问题描述】:
我正在努力让一个紧凑的主题按预期工作。
我有一个压缩主题,并且消息正在正确压缩,但是当旧消息超过默认保留期时,它们会被删除。
我想要一个压缩主题,它至少有一个无限期的键值。
如何做到这一点?我是否必须覆盖该特定压缩主题的保留期?或者压缩主题是否应该默认无限期地保留一个键的一个值?
我的配置
log.cleaner.backoff.ms = 15000
log.cleaner.dedupe.buffer.size = 134217728
log.cleaner.delete.retention.ms = 1000
log.cleaner.enable = true
log.cleaner.io.buffer.load.factor = 0.9
log.cleaner.io.buffer.size = 524288
log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
log.cleaner.min.cleanable.ratio = 0.001
log.cleaner.min.compaction.lag.ms = 0
log.cleaner.threads = 1
log.cleanup.policy = [compact, delete]
log.retention.bytes = -1
log.retention.check.interval.ms = 5000
log.retention.hours = 0
log.retention.minutes = 20
log.retention.ms = null
【问题讨论】:
-
你能展示一下你的压缩主题的配置吗?
-
@MickaelMaison 问题只是 log.cleanup.policy = [compact, delete]
-
这正是我问主题配置的原因。您可以在代理上设置 [compact, delete] 但仅在主题上设置紧凑。
-
@MickaelMaison 你能解释一下你的意思是“但在这个话题上只有紧凑”吗?您是说有一种方法可以设置 log.cleanup.policy = [compact, delete] 但将其覆盖为仅紧凑而不是在每个主题级别上删除?
-
是的。可以在每个主题级别上设置清理策略。如果是这样,则优先于代理设置。您通常希望代理具有良好的默认值,例如
delete,然后在每个主题的基础上,您可以在需要时设置不同的策略
标签: apache-kafka