Учебное пособие по Apache NiFi
Краткое описание руководства Apache NiFi
В этом руководстве по Apache NiFi с нуля рассматриваются все базовые и сложные темы. Вы изучите такие понятия, как определение NiFi, история, архитектура, функции, процесс установки и варианты использования. Вы также узнаете, почему вам нужно использовать Apache NiFi и лучшие практики использования Apache NiFi.
Что такое Apache NiFi?
Апач НиФи — это программное обеспечение с открытым исходным кодом для автоматизации и управления потоком данных между системами. Это мощная и надежная система обработки и распространения данных. Он предоставляет веб-интерфейс пользователя для создания, мониторинга и управления потоками данных. Он имеет легко настраиваемый и модифицируемый процесс потока данных для изменения данных во время выполнения.
Apache NiFi легко расширяется за счет разработки пользовательских компонентов.
Зачем использовать Apache NIfi?
Вот причины использования Apache Nifi:
- Позволяет выполнять прием данных для извлечения данных в NiFi из многочисленных источников данных и создания файлов потока.
- Он предлагает контроль в режиме реального времени, который помогает вам управлять перемещением данных между любым источником и местом назначения.
- Визуализация DataFlow на уровне предприятия
- Предоставление общих инструментов и расширений
- Позволяет использовать существующие библиотеки и Java функциональность экосистемы
- Помогает организациям интегрировать Nifi с существующей инфраструктурой.
- NiFi предназначен для масштабирования в кластерах, которые обеспечивают гарантированную доставку данных.
- Визуализируйте и отслеживайте производительность и поведение в бюллетене потока, который предлагает аналитическую информацию и встроенную документацию.
- Помогает запускать и останавливать компоненты отдельно или на уровне группы.
- Он помогает вам прослушивать, извлекать, разделять, агрегировать, маршрутизировать, преобразовывать и перетаскивать поток данных.
История Apache NiFi
- Разрабатывался в АНБ более восьми лет.
- 2014 г. — передан в дар Apache Software. Foundation
- 2015 — NiFi стала официальной частью Apache Project Suite.
- С тех пор каждые 6-8 недель Apache NiFi выпускает новое обновление.
НиФи Archiтекстура
Apache NiFi имеет продуманную архитектуру. Как только данные извлекаются из внешних источников, они представляются как FlowFile внутри архитектуры Apache NiFi.
Вот ключевые компоненты архитектуры NiFi
Нифи Компонент | Описание |
---|---|
FlowFile | FlowFile — это исходные данные с прикрепленной к ним метаинформацией. Он позволяет обрабатывать не только CSV или другие данные на основе записей, но также изображения, видео, аудио или любые другие двоичные данные. |
Процессор потоковых файлов | Выполняет работу, которая выступает в качестве строительного блока потока данных в NiFi. |
Контроллер потока | Сохраняет информацию о том, как связаны процессы. Он управляет потоками и их распределением, которые используют все процессы. |
веб-сервер | На веб-сервере размещаются HTTP-команды и API NiFi. |
Расширение | Существует множество типов расширений NiFi, которые работают и выполняются внутри JVM. |
Связь | Действует как связь между процессорами, содержащими очередь и отношения, влияющие на маршрутизацию данных. |
Противодавление | Предотвратите переполнение системы, контролируя количество или размер данных потоковых файлов, которые могут храниться в очереди. |
Группа процессов | Группа процессов — это набор процессов и их соединений, которые получают и отправляют данные с помощью портов. |
Репозиторий потоковых файлов | В репозитории FlowFile NiFi отслеживает состояние и сведения о данном FlowFile, который активен в потоке. |
Репозиторий контента | Репозиторий содержимого — это область, в которой существуют фактические байты содержимого данного FlowFile. |
Репозиторий происхождения | Репозиторий Provenance — это область, где собираются все данные о событиях происхождения. |
Возможности Apache NiFi
- NiFi поддерживает буферизацию всех данных в очереди и предлагает возможность противодавления, поскольку эти очереди могут достигать определенных пределов.
- NiFi позволяет устанавливать одну или несколько схем приоритезации.
- Предоставляет процессоры соединений для многих источников данных.
- Поддержка любого устройства, которое работает Java
- Идеально подходит для мест с ограниченным доступом
- Поддержка устранения неполадок и оптимизации потока
- Предлагает аутентификацию/авторизацию на основе ролей.
- Позволяет загружать, восстанавливать и воспроизводить отдельные файлы.
- Создавайте свои процессоры, службы контроллеров и многое другое.
- Обеспечить шифрование контента, связь по безопасным протоколам
- Обеспечивает быструю разработку и эффективное тестирование.
- Позволяет разрабатывать простые однофункциональные компоненты, которые можно повторно использовать и комбинировать для создания более сложных потоков.
- Позволяет изолировать загрузчик классов для упрощения управления зависимостями.
Как установить Apache NiFi
Ниже приведен пошаговый процесс установки Apache NiFi.
Шаг 1) Перейдите на связь,
и нажмите «Продолжить подписку»
Шаг 2) На следующей странице
Нажмите «Принять условия»
Шаг 3) Вы увидите эту страницу,
Спасибо за подписку на этот продукт! Мы обрабатываем Ваш запрос.
Шаг 4) Обновите страницу через 5 минут.
Нажмите «Продолжить настройку».
Шаг 5) На следующей странице
Оставьте настройки по умолчанию и нажмите «Продолжить запуск».
Шаг 6) На следующей странице
Нажмите «Запустить». Возможно, вам придется создать ключ
Шаг 7) Вы увидите это сообщение об успехе.
Поздравляем! Экземпляр этого программного обеспечения успешно развернут на EC2!
Шаг 8) Заметка,
Идентификатор экземпляра и общедоступный DNS экземпляра EC2.
Шаг 9) В группе безопасности
Добавить все правила трафика для входящего и исходящего трафика
Шаг 10) Чтобы получить доступ к Нифи,
просто используйте URL-адрес
http://publicdns:8080/nifi
В нашем случае это становится
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
Информация о пользователе: админ
Пароль: Идентификатор экземпляра
Шаг 11) Ты увидишь,
Главный экран НиФи
Варианты использования Нифи
Ниже приведен список вариантов использования Apache NiFi:
Промышленность | Применение |
---|---|
Страхование |
|
HealthCare |
|
телекоммуникация |
|
Производство |
|
Нефтегазовая промышленность |
|
Финансовые услуги |
|
лучшие практики Запуск Apache NiFi
- Идеально подходит для разделения сред тестирования, разработки и производства в NiFi.
- Вам следует разбить поток на группы процессов.
- Используйте соглашение об именах, используйте комментарии и метки.
- Разделите свои проекты на три части: прием, тестирование и мониторинг.
- Используйте уникальные имена для переменных
Недостаток Нифи
- Нужен точный контроль безопасности и соответствия требованиям
- При работе с Apache NiFi вам необходимо очень хорошо знать базовую систему.
- Должен поддерживать цепочку поставок данных
- Транспорт/Обмен сообщениями может оказаться недостаточным
- Потребности в доступе к данным превышают доступные ресурсы для транспортировки
- Не все данные создаются одинаково
- Авторизация на уровне SSL и темы может оказаться недостаточной.
Резюме
- Apache NiFi — это программное обеспечение с открытым исходным кодом для автоматизации и управления потоком данных между системами.
- NiFi предназначен для масштабирования в кластерах, которые обеспечивают гарантированную доставку данных.
- Nifi разрабатывался в АНБ более восьми лет.
- Как только данные извлекаются из внешних источников, они представляются как FlowFile внутри архитектуры Apache NiFi.
- FlowFile, процессор, контроллер, веб-сервер, соединение, противодавление, хранилище — важные компоненты архитектуры NiFi.
- Язык выражений NiFi поддерживает любое устройство, работающее Java
- Вы можете легко установить NiFi на AWS.
- NiFi используется в различных отраслях, таких как здравоохранение, страхование, телекоммуникации, производство, финансы, нефть и газ и других.
- Рекомендуется разделить ваши проекты на три части: прием, тестирование и мониторинг.