如何从zookeeper获取最后的偏移时间?当使用风暴喷口从卡夫卡阅读消息时。上下文:Kafka持续获取消息,消费者读取一段时间然后因任何原因关闭,然后消费者只读取最新消息但不读取上次读取的消息
答案 0 :(得分:2)
消费者读了一段时间然后因任何原因关闭
不确定你指的是什么,因为消费者应该无限运行,除非它被明确停止。
现在假设您正在使用风暴的KafkaSpout实现,有一个名为forceStartOffsetTime
的配置使用to force the spout to rewind to a previous offset
。使用它的方法如下
spoutConfig.forceStartOffsetTime(-2);
如文档页面所示
它将选择围绕该时间戳写入的最新偏移量以开始消费。您可以通过传入-1来强制喷口始终从最新的偏移开始,并且可以通过传入-2来强制它从最早的偏移开始。
因此将其设置为-2将始终强制它从头开始读取 您正在使用的配置是什么,如果您可以发布一些代码
会很棒