【发布时间】:2020-09-12 13:46:06
【问题描述】:
Fetcher INFO : Fetch offset .... is out of range for partition ..., resetting offset
试图了解发生这种情况时会发生什么。
如果我们试图读取的偏移量丢失(我假设是因为 kafka GC'ed the offet)并且auto.offset.reset = latest 我们是否会跳过数据到最新的偏移量?
避免数据丢失的安全配置是什么?
【问题讨论】:
-
这取决于,如果偏移量超出范围,因为请求偏移量已被删除,那么您已经丢失了数据。将偏移重置策略设置为最新将重置为最近生成的记录,因此您也可以为那里的数据丢失敞开心扉。您可能希望最早从头开始读取该策略,或者不希望强制消费者失败,这样您就可以自行决定如何恢复,如果您想避免在这种情况下丢失数据
-
谢谢@dawsaw,这真的很有帮助。我还在这里stackoverflow.com/questions/58829112/… 找到了关于“auto.offset.reset 如何控制消息消耗”的一个很好的解释