Что такое Apache NiFi?
Apache NiFi — это программное обеспечение с открытым исходным кодом для автоматизации и управления потоком данных между системами. Это мощная и надежная система для обработки и распространения данных. Он предоставляет веб-интерфейс пользователя для создания, мониторинга и управления потоками данных. Он имеет настраиваемый и изменяемый процесс потока данных, который может изменять данные во время выполнения. Это легко расширяется за счет разработки пользовательских компонентов.
В этом уроке вы узнаете
- Что такое Apache NiFi?
- Зачем использовать Apache NIfi?
- История Apache NiFi
- Нифи Архитектура
- Apache NiFi Особенности
- Как установить Apache NiFi
- Примеры использования 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 выпускает новое обновление
Нифи Архитектура
Apache NiFi имеет продуманную архитектуру. Как только данные извлекаются из внешних источников, они представляются как FlowFile в архитектуре Apache NiFi.
Вот ключевые компоненты архитектуры NiFi
Нифи Компонент | Описание |
FlowFile | FlowFile — это исходные данные с прикрепленной к ним метаинформацией. Он позволяет обрабатывать не только данные CSV или другие данные на основе записей, но также изображения, видео, аудио или любые другие двоичные данные. |
Flowfile процессор | Выполняет работу, которая выступает в качестве строительного блока потока данных в NiFi. |
Регулятор потока | Ведет запись о том, как процессы связаны. Он управляет потоками и их распределением, которые используют все процессы. |
Веб сервер | Веб-сервер содержит HTTP-команды и API NiFi. |
расширение | Существует много типов расширений NiFi, которые работают и работают в JVM. |
соединение | Действует как связующее звено между процессорами, которые содержат очередь и отношения, которые влияют на направление данных. |
Обратное давление | Остановите перегрузку системы, контролируя количество или размер данных потоковых файлов, которые могут храниться в очереди. |
Группа процессов | Группа процессов — это набор процессов и их соединений, которые получают и отправляют данные с помощью портов. |
Flowfile Repository | В репозитории FlowFile NiFi отслеживает состояние сведений о конкретном FlowFile, который активен в потоке. |
Репозиторий контента | Репозиторий контента — это область, где существуют фактические байты контента данного FlowFile. |
Хранилище прованс | Хранилище провенанса — это область, где собираются все данные о происхождении. |
Apache NiFi Особенности
- NiFi поддерживает буферизацию всех данных в очереди и предлагает возможность обратного давления, поскольку эти очереди могут достигать определенных пределов
- NiFi позволяет установить одну или несколько схем приоритизации
- Предоставляет процессоры соединения для многих источников данных
- Поддержите любое устройство, которое работает на Java
- Идеально подходит для мест с ограниченным доступом
- Поддержка для устранения неполадок и оптимизации потока
- Предлагает аутентификацию / авторизацию на основе ролей
- Позволяет загружать, восстанавливать и воспроизводить отдельные файлы
- Создайте свои процессоры, службы контроллера и многое другое
- Обеспечить шифрование контента, связь по защищенным протоколам
- Обеспечивает быструю разработку и эффективное тестирование.
- Позволяет разрабатывать простые однофункциональные компоненты, которые можно использовать повторно и комбинировать для создания более сложных потоков.
- Позволяет изолировать загрузчик классов для более простого управления зависимостями
Как установить Apache NiFi
Шаг 1) Перейдите по ссылке и нажмите «Продолжить подписку»
Шаг 2) На следующей странице нажмите «Принять условия»
Шаг 3) Вы увидите эту страницу
Шаг 4) Обновите страницу через 5 минут. Нажмите «Перейти к настройке»
Шаг 5) На следующей странице оставьте настройки по умолчанию и нажмите «Продолжить запуск»
Шаг 6) На следующей странице нажмите Launch. Вам может понадобиться создать ключ
Шаг 7) Вы увидите это сообщение об успехе.
Шаг 8) Обратите внимание, идентификатор экземпляра и общедоступный DNS экземпляра EC2
Шаг 9) В группе безопасности добавьте правило трафика ко входящим и исходящим
Шаг 10) Чтобы получить доступ к Nifi, просто используйте URL
Http: // publicdns: 808 / Nifi
В нашем случае это становится
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
Пользователь : admin
Пароль : Идентификатор экземпляра
Шаг 11) Вы увидите домашний экран NiFi
Примеры использования Nifi
Промышленность | Применение |
страхование |
|
Здравоохранение |
|
телекоммуникация |
|
Производство |
|
Нефть и Газ- Промышленность |
|
Финансовые Услуги |
|
Лучшие практики Запуск Apache NiFi
- Идеально подходит для разделения тестовых / dev / производственных сред в NiFi
- Вы должны разбить свой поток на группы процессов
- Используйте соглашение об именах, используйте комментарии и метки
- Организуйте свои проекты в три этапа: прием, тестирование и мониторинг
- Используйте уникальные имена для переменных
Недостаток нифи
- Нужен точный контроль безопасности и соответствия
- Вы должны очень хорошо знать основную систему при работе с Apache NiFi
- Необходимо поддерживать цепочку хранения данных
- Транспорт / обмен сообщениями может оказаться недостаточно
- Потребности в доступе к данным превышают доступные ресурсы для транспортировки
- Не все данные созданы одинаково
- SSL и авторизация на уровне темы могут быть недостаточными
Резюме
- Apache NiFi — это программное обеспечение с открытым исходным кодом для автоматизации и управления потоком данных между системами.
- NiFi предназначен для масштабирования в кластерах, которые предлагают гарантированную доставку данных
- Нифи был разработан в АНБ более восьми лет
- Как только данные извлекаются из внешних источников, они представляются как FlowFile в архитектуре Apache NiFi.
- FlowFile, процессор, контроллер, веб-сервер, подключение, обратное давление, хранилище — важные компоненты архитектуры NiFi
- Nifi поддерживает любое устройство, которое работает на Java
- Вы можете легко установить NiFi на AWS
- NiFi используется в различных отраслях, таких как здравоохранение, страхование, телекоммуникации, производство, финансы, нефть и газ и другие.
- В качестве лучшей практики организуйте свои проекты на три части: прием, тестирование и мониторинг