我们有一个有5个分区的主题。我们根据密钥的校验和来定义分区。有些情况下没有密钥解析到分区3,因此没有提交。因此,在配置的偏移保留天数之后,使用者当前偏移开始显示未知。我们需要解决这个问题,因此我们必须在主题级别设置日志和偏移量保留。在配置中,我看到config:retention.ms is 用于日志保留,但未找到相应的偏移量保留配置。有人能帮忙吗。
编辑:bin/kafka-topics.sh--zookeeper --alter--topic x--config retention.ms=86400000
以上用于设置特定于主题的日志保留时间。但是如何在查询中指定偏移量保留。
3条答案
按热度按时间vxqlmq5t1#
您可以使用参数“offsets.retention.minutes”在server.properties中配置偏移保留。默认值为1440
偏移量保留是系统范围的,因此不能在单个主题级别设置它
qyzbxkaa2#
我想你在找
log.retention.bytes
.但是,在保留期内根本没有数据,这是您应该解决的问题。通过减少分区数或使用其他算法来创建密钥。
uajslkp63#
所有使用者和所有主题的已提交使用者偏移量存储在单个内部“\u使用者\u偏移量”主题中。因此,恐怕您无法单独控制每个主题的偏移量保留。
注意。我发现,如果某个主题的分区上长时间没有消息,这可能会有问题。
我发现下面的票可以帮上忙:https://issues.apache.org/jira/browse/kafka-3806
第一条评论建议提交偏移量,即使在使用者没有进展的情况下(给定分区没有新消息到达),也要避免这个问题:
您可能希望继续提交偏移量,即使它们没有改变