Получение сообщений от кафки с помощью шторма

Как получить время последнего смещения от zookeeper? при чтении сообщений от кафки с помощью штормового излива. Контекст: Kafka получает сообщения непрерывно, потребитель какое-то время читает, а затем выключается по любой причине, а затем потребитель читает только последнее сообщение, но не читает из последнего прочитанного смещения.


person Bhargav Sarvepalli    schedule 06.12.2013    source источник


Ответы (1)


потребитель какое-то время читает, а затем отключается по любой причине

Не уверен, что именно вы имеете в виду, поскольку предполагается, что потребитель будет работать бесконечно, если он не остановлен явно.

Предполагая, что вы используете реализацию шторма KafkaSpout, существует config называется forceStartOffsetTime, который используется to force the spout to rewind to a previous offset. Способ его использования следующим образом

    spoutConfig.forceStartOffsetTime(-2);

Как видно на странице документа

Он выберет последнее смещение, записанное около этой отметки времени, чтобы начать использование. Вы можете заставить носик всегда начинаться с последнего смещения, передав -1, и вы можете заставить его начинать с самого раннего смещения, передав -2.

поэтому установка его на -2 всегда заставит его читать с самого начала, какую конфигурацию вы используете, было бы здорово, если бы вы могли опубликовать какой-нибудь код

person user2720864    schedule 06.12.2013
comment
но мне не нужно ни с самого начала, ни с самого последнего сообщения. установка -1 позволяет мне потреблять с момента, когда потребитель не потреблял, или с самого последнего, который является текущей меткой времени - person Bhargav Sarvepalli; 06.12.2013
comment
Он выберет последнее смещение, записанное вокруг этой отметки времени, чтобы начать использовать (из документа) - person user2720864; 06.12.2013
comment
означает, что -1 заставит его потреблять из последнего - person user2720864; 06.12.2013
comment
Итак, теперь мне нужно знать последнюю временную метку, когда потребитель не получил сообщение. - person Bhargav Sarvepalli; 06.12.2013
comment
не могли бы вы опубликовать код .. это очень поможет понять, в чем именно заключается ваша проблема - person user2720864; 06.12.2013