Урок за Apache NiFi: Какво е NiFi? Archiтекстура и монтаж

Резюме на урока за Apache NiFi

Този урок за Apache NiFi обхваща всички основни до напреднали теми от нулата. Ще научите понятия като NiFi дефиниция, история, архитектура, функции, процес на инсталиране, случаи на употреба. Ще научите също защо трябва да използвате apache NiFi и най-добрите практики за стартиране на apache NiFi.

Какво е Apache NiFi?

Apache NiFi е софтуер с отворен код за автоматизиране и управление на потока от данни между системите. Това е мощна и надеждна система за обработка и разпространение на данни. Той предоставя уеб базиран потребителски интерфейс за създаване, наблюдение и контрол на потоци от данни. Той има силно конфигурируем и модифицируем процес на поток от данни за модифициране на данни по време на изпълнение.

Apache NiFi е лесно разширим чрез разработване на персонализирани компоненти.

Защо да използвате Apache NIfi?

Ето причините да използвате Apache Nifi:

  • Позволява ви да извършвате поглъщане на данни, за да изтегляте данни в NiFi от многобройни източници на данни и да създавате поточни файлове
  • Той предлага контрол в реално време, който ви помага да управлявате движението на данни между всеки източник и дестинация
  • Визуализирайте DataFlow на корпоративно ниво
  • Осигурете общи инструменти и разширения
  • Позволява ви да се възползвате от съществуващите библиотеки и Java функционалност на екосистемата
  • Помага на организациите да интегрират Nifi с тяхната съществуваща инфраструктура
  • NiFi е проектиран да се мащабира в клъстери, които предлагат гарантирана доставка на данни
  • Визуализирайте и наблюдавайте производителността, поведението в поток бюлетин, който предлага представа и вградена документация
  • Помага ви да стартирате и спирате компоненти поотделно или на ниво група
  • Помага ви да слушате, извличате, разделяте, обобщавате, маршрутизирате, трансформирате и плъзгате и пускате Dataflow

История на Apache NiFi

  • Разработено в NSA повече от осем години
  • 2014- Беше дарено на софтуера Apache Foundation
  • 2015 - NiFi стана официална част от Apache Project Suite
  • Оттогава на всеки 6-8 седмици Apache NiFi пуска нова актуализация

NiFi Archiтекстура

Apache NiFi има добре обмислена архитектура. След като данните бъдат извлечени от външни източници, те се представят като FlowFile в архитектурата на Apache NiFi.

NiFi Archiтекстура
NiFi Archiтекстура

Ето ключовите компоненти на NiFi архитектурата

Nifi компонент Descriptйон
FlowFile FlowFile са оригинални данни с прикачена към тях метаинформация. Позволява ви да обработвате не само CSV или други данни, базирани на записи, но и снимки, видеоклипове, аудио или други двоични данни.
Flowfile процесор Извършва работата, която действа като градивен елемент на потока от данни в NiFi.
Контролер на потока Поддържа запис за това как процесите са свързани. Той управлява нишките и техните разпределения, които всички процеси използват.
Web Server Уеб сървърът хоства базираните на HTTP команди и API на NiFi.
Разширение Има много видове NiFi разширения, които работят и се изпълняват в JVM.
Връзка Действа като връзка между процесори, които съдържат опашка и връзка(и), която влияе къде се маршрутизират данните.
Обратно налягане Спрете системата да бъде претоварена, като контролирате количеството или размера на данните на файловете с поток, които могат да се съхраняват в опашката.
Група процеси Група процеси е набор от процеси и техните връзки, който получава и изпраща данни с помощта на портове.
Хранилище на Flowfile В хранилището на FlowFile NiFi следи състоянието на подробностите, които има за даден FlowFile, който е активен в потока.
Хранилище на съдържание Хранилището на съдържанието е област, където съществуват действителните байтове съдържание на даден FlowFile.
Произходно хранилище Хранилището за произход е област, където се събират всички данни за събития за произход.

Функции на Apache NiFi

  • NiFi поддържа буфериране на всички данни в опашка и предлага възможност за обратно налягане, тъй като тези опашки могат да достигнат определени граници
  • NiFi позволява настройка на една или повече схеми за приоритизиране
  • Осигурява процесори за връзка за много източници на данни
  • Поддържа всяко устройство, което работи Java
  • Идеален за места с ограничена свързаност
  • Поддръжка за отстраняване на проблеми и оптимизиране на потока
  • Предлага базирано на роли удостоверяване/упълномощаване
  • Позволява изтегляне, възстановяване и възпроизвеждане на отделни файлове
  • Изградете вашите процесори, услуги за контролер и много други
  • Осигурете криптиране на съдържание, комуникация по защитени протоколи
  • Позволява бързо развитие и ефективно тестване
  • Позволява разработването на прости еднофункционални компоненти, които могат да се използват повторно и комбинират, за да се направят по-сложни потоци
  • Позволява изолиране на зареждащия клас за по-лесно управление на зависимостите

Как да инсталирате Apache NiFi

По-долу е даден процес стъпка по стъпка за инсталиране на Apache NiFi

Стъпка 1) Отиди връзката,

и щракнете върху „Продължете да се абонирате“

Инсталирайте Apache NiFi

Стъпка 2) На следващата страница,

Кликнете върху „Приемам условията“

Инсталирайте Apache NiFi

Стъпка 3) Ще видите тази страница,

Благодарим ви, че се абонирахте за този продукт! Ние обработваме вашата заявка.

Инсталирайте Apache NiFi

Стъпка 4) Обновете страницата след 5 минути.

Кликнете върху „Напред към конфигурацията“

Инсталирайте Apache NiFi

Стъпка 5) На следващата страница,

Запазете настройките по подразбиране и щракнете върху „Продължете към стартиране“

Инсталирайте Apache NiFi

Стъпка 6) На следващата страница,

Кликнете върху Стартиране. Може да се наложи да създадете ключ

Инсталирайте Apache NiFi

Стъпка 7) Ще видите това съобщение за успех.

честито! Екземпляр на този софтуер е успешно внедрен на EC2!

Инсталирайте Apache NiFi

Стъпка 8) Забележка,

Идентификаторът на екземпляра и публичният DNS на екземпляра EC2

Инсталирайте Apache NiFi

Стъпка 9) В групата за сигурност,

Добавете правило за целия трафик към входящ и изходящ

Инсталирайте Apache NiFi

Стъпка 10) За достъп до Nifi,

просто използвайте URL адреса

http://publicdns:8080/nifi

В нашия случай става

http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/

Потребител: администратор

Парола: Идентификационен номер на екземпляр

Инсталирайте Apache NiFi

Стъпка 11) ще видиш,

Начален екран на NiFi

Инсталирайте Apache NiFi

Случаи на използване на Nifi

По-долу е даден списък на случаите на използване на Apache NiFi:

Индустрия употреба
Застраховка
  • Анализ на риска и подписването
  • Анализ на искове
  • Застраховка въз основа на употребата
  • Разработка на нов продукт
Здравеопазване
  • Единичен изглед на пациента
  • Наблюдение на жизнените показатели в реално време
  • EMR оптимизация
  • Оптимизация на веригата за доставки
телекомуникация
  • Единичен изглед на клиента
  • CDR анализ
  • Динамично разпределение на честотната лента
производство
  • Превантивна поддръжка
  • Оптимизация на веригата за доставки
  • Контрол на качеството
Петролна и газова промишленост
  • Мониторинг в реално време
  • Единичен изглед на OperaАЦИ
  • Прогнозна поддръжка
  • Archive & Анализи
  • Класификация на неструктурирани данни
Финансови услуги
  • Против прането на пари
  • Откриване на измами
  • Управление на риска - данни

Най-добри практики Изпълнение на Apache NiFi

  • Идеален за разделяне на среди за тестване/разработване/производство в NiFi
  • Трябва да разделите потока си на групи процеси
  • Използвайте конвенция за именуване, използвайте коментари и етикети
  • Организирайте проектите си в три части: приемане, тестване и наблюдение
  • Използвайте уникални имена за променлива

Недостатък на Nifi

  • Нуждаете се от прецизен контрол за сигурност и съответствие
  • Трябва да познавате много добре основната система, докато работите с Apache NiFi
  • Трябва да поддържате верига за съхранение на данните
  • Транспортът / Съобщенията може да не са достатъчни
  • Нуждите за достъп до данни надхвърлят наличните ресурси за транспортиране
  • Не всички данни се създават еднакво
  • SSL и оторизацията на ниво тема може да не са достатъчни

Oбобщение

  • Apache NiFi е софтуер с отворен код за автоматизиране и управление на потока от данни между системите
  • NiFi е проектиран да се мащабира в клъстери, които предлагат гарантирана доставка на данни
  • Nifi е разработен в NSA повече от осем години
  • След като данните бъдат извлечени от външни източници, те се представят като FlowFile в архитектурата на Apache NiFi.
  • FlowFile, процесор, контролер, уеб сървър, връзка, обратно налягане, хранилище са важни компоненти на NiFi архитектурата
  • Езикът за изразяване NiFi поддържа всяко устройство, което работи Java
  • Можете лесно да инсталирате NiFi на AWS
  • NiFi се използва в различни индустрии като здравеопазване, застраховане, телекомуникации, производство, финанси, нефт и газ и др.
  • Като най-добра практика, организирайте проектите си в три части: приемане, тестване и наблюдение