Я пытаюсь использовать одного потребителя, который постоянно читает данные из kafka. Как установить параметры расписания?
Я прочитал User Guide
, но не могу понять, как установить график работы и продолжительность запуска, если мне нужно, чтобы потребитель работал непрерывно.
@daggett Я бы не рекомендовал использовать стратегию Event Driven
. Она считается экспериментальной, и если бы Apache знал, что ее никто не использует, она была бы полностью удалена.
@BenYaakobi Тогда что мне использовать?
Как сказал @BryanBende, расписание, управляемое таймером, равное 0 секундам, поможет (в основном та же конфигурация, что и на вашем изображении).
Спасибо. Тогда имеет ли значение параметр продолжительности запуска в этом случае?
Расписание работы, управляемое таймером, равное 0 секунд, означает непрерывное выполнение с максимально возможной скоростью.
Означает ли это, что nifi будет постоянно останавливать и перезапускать потребителя?
Нет, после запуска процессора потребитель создается и подключается, расписание запуска определяет, как часто будет выполняться процессор, и выполнение в этом случае означает вызов Consumer.poll
Спасибо, тогда имеет ли значение параметр продолжительности запуска в этом случае?
Процессоры ConsumeKafka действительно не должны иметь даже Run Duration, вы используете GetKafka? Это старая версия, предназначенная только для использования с Kafka 0.8.
Да, я использую kafka 0.8 и GetKafka. Меня смущает, что у него есть эта опция
Run Duration предназначен для использования для объединения нескольких операций API NiFi, но это имеет смысл только тогда, когда они считаются «свободными от побочных эффектов», что означает, что весь пакет можно откатить, я не уверен, что это действительно так. как работает GetKafka, поэтому я бы сказал, что нет причин использовать это
попробуй
Strategy = Event driven
- если это работает для кафки - используй.