kafka重启是否丢失数据,kafka 重启 (解决方法与步骤)
下面内容仅为某些场景参考,为稳妥起见请先联系上面的专业技术工程师,具体环境具体分析。
2023-09-21 11:25 54
如果消费者设置了auto.offset.reset为“earliest”,则在重启时会重置offset为最早的可用消息。这可能会导致消费者重新消费一些消息。
另一方面,如果消费者设置了auto.offset.reset为“latest”,则在重启时会重置offset为最新消息的位置。这样会导致消费者丢失在重启期间未消费的消息。
如果offsets.retention.minutes配置为一个较小的值,那么在重启时,旧的offset可能会被删除,从而导致消费者无法获取到之前未消费的消息。
为了避免offset丢失,可以通过使用外部存储来保持offset的持久性。这可以通过将offset存储在ZooKeeper、Kafka自带的__consumer_offsets主题中,或者使用其他存储系统来实现。这样,即使Kafka重启,消费者仍然可以从之前的offset继续消费消息。