Настройка процессоров и групп процессов

Настройка процессоров

Чтобы настроить процессор, щелкните правой кнопкой мыши процессор и выберите параметр Configure в контекстном меню. Диалоговое окно конфигурации открывается с четырьмя различными вкладками, каждая из которых описана ниже. После завершения настройки процессора возможно применить изменения, нажав APPLY, или отменить все изменения, нажав CANCEL.

ВНИМАНИЕ
  • После запуска процессора контекстное меню, отображаемое для процессора, содержит параметр View configuration вместо Configure. Конфигурация процессора не может быть изменена во время работы процессора. Прежде чем снова настраивать процессор, необходимо остановить процессор и дождаться завершения всех его активных задач.

  • Ввод определенных символов не поддерживается и автоматически отфильтровывается. Следующие символы и любые непарные суррогатные коды Unicode не сохраняются ни в одной конфигурации:

[#x0], [#x1], [#x2], [#x3], [#x4], [#x5], [#x6], [#x7], [#x8], [#xB], [#xC], [#xE], [#xF], [#x10], [#x11], [#x12], [#x13], [#x14], [#x15], [#x16], [#x17], [#x18], [#x19], [#x1A], [#x1B], [#x1C], [#x1D], [#x1E], [#x1F], [#xFFFE], [#xFFFF]

Вкладка SETTINGS

Вкладка SETTINGS
Вкладка SETTINGS
Вкладка SETTINGS
Вкладка SETTINGS

Name — имя процессора. Имя процессора по умолчанию совпадает с типом процессора. Рядом с именем процессора находится флажок Enabled, указывающий включен ли процессор.

Id — уникальный идентификатор процессора.

Type — тип процессора.

Bundle — пакет NAR.

Yield Duration — период времени без ответа от удаленной службы, по истечении которого процессор должен "уступить", что предотвратит запланированное выполнение процессора в течение некоторого периода времени.

Penalty Duration — период времени, в течении которого предотвращается запланированное выполнение процессора в случае ошибки приема или передачи файлов в удаленную службу.

Bulletin Level — самый низкий уровень бюллетеня, который должен отображаться в пользовательском интерфейсе.

Вкладка SCHEDULING

Вкладка SCHEDULING
Вкладка SCHEDULING
Вкладка SCHEDULING
Вкладка SCHEDULING

Scheduling Strategy — стратегия планирования. Возможные варианты планирования компонентов:

  • Timer driven — процессор будет запускаться через регулярные промежутки времени. Интервал запуска процессора определяется параметром Run Schedule.

  • CRON driven — при использовании режима планирования, управляемого CRON, процессор планируется запускать периодически, аналогично режиму планирования, управляемому таймером. Однако режим, управляемый CRON, обеспечивает значительно большую гибкость за счет увеличения сложности конфигурации. Значение планирования, управляемое CRON, представляет собой строку из шести обязательных полей и одного необязательного поля, каждое из которых разделено пробелом.

Concurrent Tasks — определяет, сколько потоков будет использовать процессор. Другими словами, это определяет, сколько FlowFiles должно обрабатываться этим процессором одновременно.

Run Schedule — определяет, как часто процессор должен запускаться по расписанию. Допустимые значения для этого поля зависят от выбранной стратегии планирования.

Execution — используется для определения, на каком узле (узлах) будет запланировано выполнение процессора.

Вкладка PROPERTIES

Вкладка PROPERTIES
Вкладка PROPERTIES
Вкладка PROPERTIES
Вкладка PROPERTIES

Вкладка PROPERTIES предоставляет механизм для настройки поведения конкретного процессора. Свойства по умолчанию отсутствуют. Каждый тип процессора должен определять, какие свойства имеют смысл для его варианта использования.

Настройка свойств процессора описана в статье Работа с атрибутами.

Вкладка RELATIONSHIPS

Вкладка RELATIONSHIPS
Вкладка RELATIONSHIPS
Вкладка RELATIONSHIPS
Вкладка RELATIONSHIPS

Automatically Terminate / Retry Relationships:

  • Automatically Terminate — чтобы процессор считался действительным и способным работать, каждое отношение, определяемое процессором, должно быть либо подключено к нижестоящему компоненту, либо автоматически завершено. Если отношение завершается автоматически, любой FlowFile, маршрутизируемый к этому отношению, будет удален из потока, а его обработка будет считаться завершенной. Любая связь, которая уже связана с нижестоящим компонентом, не может быть автоматически завершена. Отношение должно быть сначала удалено из любого соединения, которое его использует. Кроме того, для любого отношения, которое выбрано для автоматического завершения, статус автоматического завершения будет очищен (отключен), если отношение будет добавлено к соединению.

  • Automatically Retry — пользователи также могут настроить, следует ли повторять FlowFiles, маршрутизируемые к данной связи.

Number of Retry Attempts — для отношений, настроенных на повторную попытку, это число указывает, сколько раз FlowFile будет пытаться повторно обработать, прежде чем он будет направлен в другое место.

Retry Back Off Policy — когда FlowFile необходимо повторить, пользователь может настроить политику отсрочки с двумя параметрами:

  • Penalize — повторные попытки будут происходить вовремя, но процессор продолжит обработку других FlowFiles.

  • Yield — никакая другая обработка FlowFile не будет выполняться до тех пор, пока не будут предприняты все повторные попытки.

Retry Maximum Back Off Period — первоначальные повторные попытки основаны на значениях Penalty Duration и Yield Duration, указанных на вкладке SETTINGS. Время продолжительности многократно удваивается для каждой последующей попытки повтора. Это число указывает максимально допустимый период времени до следующей повторной попытки.

Bulletin Level — самый низкий уровень бюллетеня, который должен отображаться в пользовательском интерфейсе.

Вкладка COMMENTS

Вкладка COMMENTS
Вкладка COMMENTS
Вкладка COMMENTS
Вкладка COMMENTS

Вкладка предоставляет пользователям область для включения любых комментариев, подходящих для этого компонента.

ПРИМЕЧАНИЕ

Для получения дополнительной информации о настройке процессоров NiFi обратитесь к статье Configuring a processor.

Настройка групп процессов

Вкладка GENERAL

Вкладка GENERAL
Вкладка GENERAL
Вкладка GENERAL
Вкладка GENERAL

Process Group Name — имя группы процессов. Это имя отображается в верхней части группы процессов на холсте, а также в навигационных цепочках в нижней части пользовательского интерфейса. Для корневой группы процессов (т.е. группы самого высокого уровня) это также имя, которое отображается в качестве заголовка вкладки браузера. Обратите внимание, что эта информация видна любому другому экземпляру NiFi, который удаленно подключается к этому экземпляру (с использованием групп удаленных процессов, также известных как Site-to-Site).

Process Group Parameter Context — контекст параметров группы процессов, который используется для предоставления параметров компонентам потока. В этом раскрывающемся списке пользователь может выбрать, какой контекст параметров должен быть привязан к этой группе процессов, и при желании может создать новый контекст для привязки к группе процессов.

Process Group Comments — комментарии группы процессов, которые обеспечивают механизм для добавления любой полезной информации о группе процессов.

Process Group FlowFile Concurrency — используется для управления тем, как данные передаются в группу процессов.

Доступны три варианта:

  • Unbounded — входные порты в группе процессов будут принимать данные настолько быстро, насколько это возможно, при условии, что backpressure не мешает им это делать.

  • Single FlowFile Per Node — входные порты будут одновременно пропускать только один FlowFile. Как только этот FlowFile входит в группу процессов, никакие дополнительные FlowFiles не будут добавлены до тех пор, пока все FlowFiles не покинут группу процессов (либо путем удаления из системы/автоматического завершения, либо путем выхода через выходной порт).

  • Single Batch Per Node — входные порты будут вести себя так же, как и в режиме Single FlowFile Per Node, но при приеме FlowFile входные порты будут продолжать принимать все данные до тех пор, пока все очереди, снабжающие входные порты, не будут опустошены. В этот момент они больше не будут вносить данные в группу процессов до тех пор, пока все данные не закончат обработку и не покинут группу процессов.

Process Group Outbound Policy — в то время как FlowFile Concurrency диктует, как данные должны быть доставлены в группу процессов, исходящая политика контролирует поток данных из группы процессов. Доступны два варианта:

  • Stream When Available — данные, поступающие на выходной порт, немедленно передаются из группы процессов, при условии, что backpressure не применяется.

  • Batch Output — порты вывода не будут передавать данные из группы процессов до тех пор, пока все данные, находящиеся в группе процессов, не будут поставлены в очередь к порту вывода (т. е. никакие данные не покинут группу процессов, пока обработка всех данных не завершена). Не имеет значения, поставлены ли все данные в очередь к одному и тому же порту вывода или одни данные поставлены в очередь к порту вывода A, а другие данные поставлены в очередь к порту вывода B. Оба эти условия считаются одинаковыми с точки зрения завершения обработки FlowFile.

Default Settings for Connections — срок действия FlowFile по умолчанию.

Default Back Pressure Object Threshold — пороговое значение объекта backpressure по умолчанию.

Default Back Pressure Data Size Threshold — пороговое значение размера данных backpressure по умолчанию.

Вкладка CONTROLLER SERVICES

Вкладка CONTROLLER SERVICES
Вкладка CONTROLLER SERVICES
Вкладка CONTROLLER SERVICES
Вкладка CONTROLLER SERVICES

На вкладке отображаются сервисы контроллера для потоков данных.

ПРИМЕЧАНИЕ

Для получения дополнительной информации о настройке групп процессов NiFi обратитесь к статье Configuring a Process Group.

Настройка соединений

Вкладка DETAILS

Вкладка DETAILS
Вкладка DETAILS
Вкладка DETAILS
Вкладка DETAILS

На вкладке DETAILS представлена ​​информация об исходном и целевом компонентах, включая имя компонента, тип компонента и группу процессов, в которой находится компонент.

For Relationships — предоставляет возможность выбрать, какие отношения должны быть включены в это соединение. Должно быть выбрано хотя бы одно отношение. Если доступно только одно отношение, оно выбирается автоматически.

Если с одним и тем же отношением добавляется несколько соединений, любой FlowFile, маршрутизируемый к этому отношению, будет автоматически "клонирован", и его копия будет отправлена ​​каждому из этих соединений.

Вкладка SETTINGS

Вкладка SETTINGS
Вкладка SETTINGS
Вкладка SETTINGS
Вкладка SETTINGS

Name — имя соединения. Можно оставить пустым.

FlowFile Expiration — концепция, согласно которой данные, которые не могут быть своевременно обработаны, могут быть автоматически удалены из потока. Это полезно, например, когда ожидается, что объем данных превысит объем, который можно отправить на удаленный узел.

Back Pressure — два элемента конфигурации для backpressure:

  • Object Threshold — количество файлов FlowFile, которые могут находиться в очереди до того, как будет применено. Значение по умолчанию — 10,000.

  • Size Threshold — максимальный объем данных (по размеру), которые должны быть поставлены в очередь перед применением backpressure. Значение по умолчанию — 1 GB.

Load Balance Strategy — для распределения данных в потоке по узлам в кластере NiFi предлагает следующие стратегии балансировки нагрузки:

  • Do not load balance — не балансировать нагрузку FlowFiles между узлами в кластере. Это значение по умолчанию.

  • Partition by attribute — определяет, на какой узел отправить данный FlowFile, на основе значения указанного пользователем атрибута FlowFile. Все файлы FlowFiles с одинаковым значением атрибута будут отправлены на один и тот же узел в кластере. Если узел назначения отключен от кластера или не может установить связь, данные не передаются на другой узел. Данные будут стоять в очереди, ожидая, пока узел снова станет доступным. Кроме того, если узел присоединяется к кластеру или покидает его, что требует повторной балансировки данных, применяется согласованное хеширование, чтобы избежать перераспределения всех данных.

  • Round robin — FlowFiles будут распределяться по узлам в кластере циклическим способом. Если узел отключен от кластера или не может связаться с узлом, данные, поставленные в очередь для этого узла, будут автоматически перераспределены на другие узлы. Если узел не может получать данные так быстро, как другие узлы в кластере, этот узел также может быть пропущен для одной или нескольких итераций, чтобы максимизировать пропускную способность распределения данных по кластеру.

  • Single node — все FlowFiles будут отправлены на один узел в кластере. На какой узел они отправляются, настроить нельзя. Если узел отключен от кластера или не может связаться с узлом, данные, поставленные в очередь для этого узла, останутся в очереди до тех пор, пока узел снова не станет доступным.

Prioritization — приоритет данных в очереди, чтобы данные с более высоким приоритетом обрабатывались в первую очередь. Приоритезаторы можно перемещать сверху (Available prioritizers) вниз (Selected prioritizers). Можно выбрать несколько приоритетов. Приоритет, который находится вверху списка Selected prioritizers, имеет наивысший приоритет. Если два FlowFile имеют одинаковое значение в соответствии с этим приоритезатором, второй приоритезатор будет определять, какой FlowFile обрабатывать первым, и так далее. Если приоритезатор больше не нужен, его можно переместить из списка Selected prioritizers в список Available prioritizers.

Доступны следующие приоритеты:

  • FirstInFirstOutPrioritizer — при наличии двух FlowFiles тот, который первым достиг соединения, будет обработан первым.

  • NewestFlowFileFirstPrioritizer — при наличии двух FlowFiles тот, который является самым новым в потоке данных, будет обработан первым.

  • OldestFlowFileFirstPrioritizer — при наличии двух FlowFiles первым будет обрабатываться тот, который является самым старым в потоке данных. Это схема по умолчанию, которая используется, если не выбраны приоритеты.

  • PriorityAttributePrioritizer — при наличии двух FlowFiles будет извлечен атрибут под названием priority. Первым будет обрабатываться тот, который имеет наименьшее значение приоритета.

ПРИМЕЧАНИЕ

Для получения дополнительной информации о настройке соединений процессоров NiFi обратитесь к статье Connecting Components.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней