Я использую StormConfigs startOffsetTime в качестве LatestTime, но если шторм остановлен, он теряет данные, полученные производителем - PullRequest
0 голосов
/ 09 июля 2019

Я использую KafkaProducer для отправки данных в шторм, и при настройке носика я написал код ниже.

spoutConfig.useStartOffsetTimeIfOffsetOutOfRange=true;
spoutConfig.startOffsetTime=kafka.api.OffsetRequest.LatestTime();

но проблема в том, что когда я останавливаю приложение Storm (среда разработки), шторм теряет данные, полученные от производителя.Если я использую:

spoutConfig.startOffsetTime=kafka.api.OffsetRequest.ErliestTime()

, вставка данных начинается с начала.Здесь я не хочу потери данных, если шторм все еще идет, шторм должен взять все данные, произведенные Производителем.

1 Ответ

0 голосов
/ 17 июля 2019

Локальные кластеры очищают свое состояние каждый раз, когда вы перезапускаете их (по сути, каждый раз создается новый кластер Zookeeper). Они предназначены для тестирования, а не для рабочих нагрузок. Вот почему ваш носик начинает все сначала.

...