使用风暴从kafka获取消息

时间:2013-12-06 10:00:06

标签: hbase apache-zookeeper apache-storm apache-kafka

如何从zookeeper获取最后的偏移时间?当使用风暴喷口从卡夫卡阅读消息时。上下文:Kafka持续获取消息,消费者读取一段时间然后因任何原因关闭,然后消费者只读取最新消息但不读取上次读取的消息

1 个答案:

答案 0 :(得分:2)

  

消费者读了一段时间然后因任何原因关闭

不确定你指的是什么,因为消费者应该无限运行,除非它被明确停止。

现在假设您正在使用风暴的KafkaSpout实现,有一个名为forceStartOffsetTime的配置使用to force the spout to rewind to a previous offset。使用它的方法如下

    spoutConfig.forceStartOffsetTime(-2);

如文档页面所示

  

它将选择围绕该时间戳写入的最新偏移量以开始消费。您可以通过传入-1来强制喷口始终从最新的偏移开始,并且可以通过传入-2来强制它从最早的偏移开始。

因此将其设置为-2将始终强制它从头开始读取 您正在使用的配置是什么,如果您可以发布一些代码

会很棒