2016-09-27 80 views
4

我正在写日志消息到卡夫卡主题,我希望保留这个主题是永久的。我曾在Kafka和Kafka Connect(_schemas,connect-configs,connect-status,connect-offset等)中看到有特殊主题未被日志保留时间删除。我如何执行一个话题来像这些其他专题一样?它是命名约定还是其他属性?使卡夫卡主题日志保留永久

感谢

回答

2

这些特殊主题是压缩主题。这意味着它们由键控消息组成,并且只保留列表最近的键。全写here。在大多数情况下,这可能是您想要的无限保留时间。

6

如果你想永远保留所有主题,您可以设置两个和log.retention.bytes为-1。

+0

似乎在2015年4月之前,要做到这一点的方法是将'log.retention.hours'设置为'2147483647'。然后[JIRA](https://issues.apache.org/jira/browse/KAFKA-1990)添加了-1功能。然而,JIRA并未明确说明什么价值被解释为“永久保留”。我在代码中挖了一点,确实是[-1](https://github.com/apache/kafka/blob/0.11.0.2/core/src/main/scala/kafka/server/KafkaConfig.scala# L1165)。您还可以为[小时,分钟或毫秒]设置-1(https://github.com/apache/kafka/blob/0.11.0.2/core/src/main/scala/kafka/server/KafkaConfig.scala#L1078 -L1090) –