【问题标题】:Getting messages from kafka using storm使用storm从kafka获取消息
【发布时间】:2013-12-23 15:13:25
【问题描述】:

如何从zookeeper获取最后的偏移时间?使用storm spout从kafka读取消息时。上下文:Kafka 不断获取消息,consumer 读取一段时间后由于任何原因关闭,然后consumer 只读取最新消息但不从上次读取的偏移量读取

【问题讨论】:

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


    【解决方案1】:

    消费者读了一会儿,然后由于任何原因关闭

    不确定您到底指的是什么,因为除非明确停止,否则消费者应该无限运行。

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

        spoutConfig.forceStartOffsetTime(-2);
    

    如文档页面所示

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

    因此将其设置为 -2 将始终强制它从头开始读取 你使用的是什么配置,如果你能发布一些代码会很棒

    【讨论】:

    • 但我不需要从头开始或最新消息。设置 -1 是否让我从消费者没有消费的时间开始消费或最新的当前时间戳
    • 它将选择围绕该时间戳写入的最新偏移量以开始消费(来自文档
    • 表示-1将强制它从最新开始消费
    • 所以现在我需要知道消费者未能收到消息的最后一个时间戳。
    • 能否请您发布一些代码......这将有助于了解您的问题到底是什么
    猜你喜欢
    • 2015-12-29
    • 2017-02-23
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2021-03-20
    • 2016-04-17
    • 2021-04-25
    • 2016-03-23
    相关资源
    最近更新 更多