【发布时间】:2013-12-23 15:13:25
【问题描述】:
如何从zookeeper获取最后的偏移时间?使用storm spout从kafka读取消息时。上下文:Kafka 不断获取消息,consumer 读取一段时间后由于任何原因关闭,然后consumer 只读取最新消息但不从上次读取的偏移量读取
【问题讨论】:
标签: hbase apache-zookeeper apache-storm apache-kafka
如何从zookeeper获取最后的偏移时间?使用storm spout从kafka读取消息时。上下文:Kafka 不断获取消息,consumer 读取一段时间后由于任何原因关闭,然后consumer 只读取最新消息但不从上次读取的偏移量读取
【问题讨论】:
标签: hbase apache-zookeeper apache-storm apache-kafka
消费者读了一会儿,然后由于任何原因关闭
不确定您到底指的是什么,因为除非明确停止,否则消费者应该无限运行。
现在假设您使用storm的KafkaSpout实现,有一个名为forceStartOffsetTime的配置使用to force the spout to rewind to a previous offset。使用方法如下
spoutConfig.forceStartOffsetTime(-2);
如文档页面所示
它将选择围绕该时间戳写入的最新偏移量以开始消费。您可以通过传入 -1 强制 spout 始终从最新的偏移量开始,也可以通过传入 -2 强制它从最早的偏移量开始。
因此将其设置为 -2 将始终强制它从头开始读取 你使用的是什么配置,如果你能发布一些代码会很棒
【讨论】: