2013-12-06 3 views
0

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

ответ

2

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

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

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

spoutConfig.forceStartOffsetTime(-2); 

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

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

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

+0

, но мне не нужно с самого начала или последнее сообщение. установка -1 позволяет мне потреблять с того времени, когда потребитель не потреблял или последнее, что является текущим временным штампом –

+0

Он выберет последнее смещение, написанное вокруг этой метки времени, чтобы начать потреблять (* от doc *) – user2720864

+0

означает, что -1 заставит его для использования с последнего – user2720864