Apache kafka 使Kafka主题日志保留永久化

Apache kafka 使Kafka主题日志保留永久化,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我正在将日志消息写入卡夫卡主题,我希望此主题的保留是永久性的。我在Kafka和Kafka Connect(_架构、连接配置、连接状态、连接偏移量等)中看到,日志保留时间不会删除一些特殊主题。我如何使一个主题与其他特殊主题一样?是命名约定还是其他属性 谢谢如果您想永久保留所有主题,可以将log.retention.hours和log.retention.bytes设置为-1 这些特殊主题是压缩主题。这意味着它们由键控消息组成,并且只保留列表最近键。全文。在大多数情况下,这可能是无限保留时间所需要的

我正在将日志消息写入卡夫卡主题,我希望此主题的保留是永久性的。我在Kafka和Kafka Connect(_架构、连接配置、连接状态、连接偏移量等)中看到,日志保留时间不会删除一些特殊主题。我如何使一个主题与其他特殊主题一样?是命名约定还是其他属性


谢谢

如果您想永久保留所有主题,可以将
log.retention.hours
log.retention.bytes
设置为-1

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

您可以在此处找到参数的默认值:


log.retention.bytes
log.retention.ms
可以设置为-1,如果您想将数据永久保存在主题中。

看来,在2015年4月之前,这样做的方法是将
log.retention.hours
设置为
2147483647
。然后添加了-1特性。然而,JIRA并没有明确说明什么价值被解释为“永远保留”。我仔细研究了一下代码,事实上,它是。您也可以设置-1,因为除了占用太多空间之外,还有什么原因不应该这样做吗?除此之外还有可伸缩性或速度问题吗?值得注意的是每个分区的空间限制,每个分区的大小限制为磁盘大小。间接地说,这可能会影响可伸缩性,但除此之外,我认为没有任何影响。如何只保留一个主题的数据(永久保留数据)?log.retention.bytes和log.retention.ms适用于所有主题,但不适用于任何单个主题。如何仅保留一个主题的数据(永久保留数据)?log.retention.bytes和log.retention.ms适用于所有主题,但不仅仅适用于单个主题。