我们有一个带有5个分区的主题。我们正在根据密钥的校验和分区定义分区。在某些情况下,没有钥匙来分区3,因此没有提交。因此,在配置的偏移保留天数之后,消费者当前偏移开始显示未知。我们将需要解决这个问题,因此我们认为我们必须在主题级别设置日志和抵消保留。在配置中,我看到我们有config:retention.ms用于日志保留,但没有找到相应的偏移保留配置。有人可以在同一个方面提供帮助。
编辑:bin/kafka-topics.sh-zookeeper xxx - alter - topic xxxx -config retention.ms = 86400000
上面用于设置特定于主题的日志保留时间。但是我们如何在查询中指定偏移保留。
所有消费者的承诺消费者偏移,所有主题都存储在一个内部" __ consumer_offsets"主题中。因此,您无法单独控制每个主题的偏置保留率。
nb。我认为,对于您的主题分区之一没有长时间没有消息的情况,这可能是有问题的。
我找到了以下机票,可以帮助您:https://issues.apache.org/jira/browse/kafka-3806
第一个评论建议即使在消费者没有取得任何进展的情况下提交偏移(没有新的消息用于给定分区(,以避免此确切的问题:
即使它们不更改
我想您正在寻找log.retention.bytes
。
但是,您应该在保留期内完全没有数据。通过减少分区数或使用其他算法来创建键。
您可以使用参数" offsets.retention.minutes"在服务器中配置偏移保留。默认值为1440
偏移保留范围很广,因此您无法将其设置为单个主题级别