Как получить время последнего смещения от zookeeper? при чтении сообщений от кафки с помощью штормового излива. Контекст: Kafka получает сообщения непрерывно, потребитель какое-то время читает, а затем выключается по любой причине, а затем потребитель читает только последнее сообщение, но не читает из последнего прочитанного смещения.
Получение сообщений от кафки с помощью шторма
Ответы (1)
потребитель какое-то время читает, а затем отключается по любой причине
Не уверен, что именно вы имеете в виду, поскольку предполагается, что потребитель будет работать бесконечно, если он не остановлен явно.
Предполагая, что вы используете реализацию шторма KafkaSpout, существует config называется forceStartOffsetTime
, который используется to force the spout to rewind to a previous offset
. Способ его использования следующим образом
spoutConfig.forceStartOffsetTime(-2);
Как видно на странице документа
Он выберет последнее смещение, записанное около этой отметки времени, чтобы начать использование. Вы можете заставить носик всегда начинаться с последнего смещения, передав -1, и вы можете заставить его начинать с самого раннего смещения, передав -2.
поэтому установка его на -2 всегда заставит его читать с самого начала, какую конфигурацию вы используете, было бы здорово, если бы вы могли опубликовать какой-нибудь код