Kafka log.retention计时起点及宕机、备份恢复相关问题咨询
Kafka日志保留相关问题解答
问题1解答
当log.retention设为24小时,消息于2024年1月1日15:30发布,服务器宕机25小时后在2024年1月2日16:30重启:
- Kafka的日志清理逻辑基于消息时间戳(或日志段最后修改时间)判断是否超期,宕机期间清理进程暂停工作。
- 重启后,清理进程会在**下一次检查周期(默认5分钟,由
log.retention.check.interval.ms配置)**扫描消息,此时这条消息已超过24小时保留期限,会被标记删除,不会再等待24小时到1月3日16:30。
问题2解答
恢复包含早于log.retention时长的旧Kafka备份后,这些消息可以被消费:
log.retention是Kafka自动清理过期消息的规则,备份恢复后,Kafka不会立刻删除这些历史消息,只有当清理进程运行并检测到它们超过保留时长时,才会执行删除操作。- 在清理触发前,只要消费者的偏移量覆盖到这些消息的位置,就能正常消费。
内容的提问来源于stack exchange,提问作者user3800293
相关产品推荐
相关产品推荐

