Почему мои процессоры NiFi 1.11.1 зависают при выполнении задач? - PullRequest
1 голос
/ 24 апреля 2020

У меня есть набор групп процессов, успешно работающих на сервере NiFi 1.8.0. Я развернул экземпляр NiFi 1.11.1 на отдельном, но похожем сервере, и создал шаблон для тех же групп процессов. На новом сервере 1.11 процессоры (все они, без видимой разницы по типу) обрабатывают небольшой пакет задач, а затем в течение нескольких часов зависают на одной задаче.

Перезапуск процессоров не имеет заметного эффекта, перезапуск самого экземпляра NiFi обычно заставляет процессоры нормально играть в течение минуты или двух, прежде чем проблема всплывет. В логах ошибок нет, увеличение памяти не дало эффекта, загрузка процессора не превышает 20%.

Я сравнивал с работающим сервером, единственными отличиями были более новая версия NiFi и лимит открытых файлов операционной системы (что приводило к появлению сообщений об ошибках в журнале до того, как я обновился, чтобы соответствовать работающему серверу). Конечно, я проверил только то, что мог подумать, поэтому, пожалуйста, предложите что-нибудь, что я мог пропустить.

Я очень новичок в NiFi, поэтому, если есть диагностика или подобное, что я мог бы использовать, чтобы получить больше информация, пожалуйста, дайте мне знать.

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Рекомендуется выполнить ряд шагов (см. требуется для нетривиальных развертываний) во время Apache конфигурации NiFi. В этом случае указанным параметром c, который ограничивал поведение, было Максимальное число потоков, управляемых таймером, которое вызывало конфликт ресурсов из-за большого числа процессоров в системе.

Дополнительные ресурсы:

1 голос
/ 27 апреля 2020

Для @ Andy, в разделе «Настройки» -> «Настройки контроллера» -> «Общие» можно выбрать два параметра: «Максимальное количество потоков, управляемых таймером», и «Максимальное количество потоков, управляемых событиями». По умолчанию это 10 и 1 соответственно. Для любого значительного числа процессоров этого недостаточно, поэтому эти значения необходимо увеличить. В моем случае это означало увеличение их обоих до 300.

...