Установка Apache NIFI | DATAENGINER

Установка Apache NIFI

Добрый день! Сегодня мы рассмотрим установку Apache NIFI на ОС семейства Linux, CentOS8.

Apache NIFI— Apache NiFi — это программный проект от Apache Software Foundation, предназначенный для автоматизации обмена данными между программными системами. Он основан на программном обеспечении «NiagaraFiles», ранее разработанном АНБ, которое также является источником части его нынешнего названия — NiFi.

В качестве сервера мы будем использовать виртуальную машину со следующей конфигурацией:

CPU: 2 ядра

ОЗУ: 4Гб

HDD: 100гб

Подготовка к установке

Перед началом установки, установим пакет JAVA, Oracle JDK 8. Для этого подключимся к нашей виртуальной машине посредством утилиты WinSCP. Скопируем RPM пакет для установки JDK в домашнюю папку пользователя.

Подключимся по SSH к нашей виртуальной машине и выполним команду:

rpm -ihv jdk-8u151-linux-x64.rpm  

По окончании установки проверим версию JAVA, командой:

 java -version

Установка Apache NIFI

Создадим в корневой директории новый каталог, который назовем app, для этого выполним команду:

mkdir -p /app

Далее создадим отдельного пользователя, которого назовем nifi, пользователя можно создать используя команду:

useradd nifi

Далее зададим пользователю nifi пароль, чтобы задать пароль воспользуемся утилитой passwd:

passwd nifi

Изменим владельца каталога на пользователя nifi:

chown -R nifi:nifi /app

Для проверки владельца каталога и группы выполним: ll

Далее перейдем под пользователя nifi, после чего перейдем в каталог /app и произведем загрузку с официального сайта архива содержащего бинарные файлы:

su - nifi
cd /app
ls
wget http://apache-mirror.rbc.ru/pub/apache/nifi/1.10.0/nifi-1.10.0-bin.tar.gz

Распакуем бинарный архив в текущий каталог /app при помощи утилиты tar и опции -xvf

tar -xvf nifi-1.10.0-bin.tar.gz 

По окончании распаковки для более удобного процесса использования переименуем каталог nifi-1.10.0 просто в nifi и удалим скачанный ранее нами архив, чтобы он не занимал лишнее место.

ls
mv nifi-1.10.0 nifi
rm -f nifi-1.10.0-bin.tar.gz 
ls

Добавить в переменные окружения пользователя информацию о том, где находится домашний каталог JAVA, для этого отредактируем .bash_profile следующим образом:

vim ~/.bash_profile

И укажем в данном файле следующую строку:

export JAVA_HOME=/usr/java/latest

После чего сохраним файл.

Так как, чтобы применился новый профайл пользователя нам надо либо выполнить: source ~/.bash_profile, либо выйти и заново зайти под пользователя nifi при помощи команды su -, а также по причине того что нам необходимо открыть порт 8080, чтобы проверить подключение к nifi, то выйдет из под пользователя nifi, откроем порт и снова откроем сессию пользователя nifi через su -.

exit
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
su - nifi

Проверим, что ранее заданная переменная $JAVA_HOME видна текущему пользователю и установлена правильно, а также проверим что версия текущего JDK не ниже 8:

echo $JAVA_HOME
java -version  

Теперь запустим непосредственно наш Apache NIFI для этого перейдем в каталог /app/nifi/bin и выполним следующую команду для запуска.

cd /app/nifi/bin 
pwd 
ls 
./nifi.sh start   

Так как NiFi уже содержит web сервер, а порт виртуальной машины мы уже открыли, то проверим подключения из браузера для этого укажем http://192.168.132.130:8080

Перед нами появится страница с которой по истечении 5 секунд мы будем переадресованы на главную страницу Apache NiFi.

На этом установка и запуск Apache NiFI завершены.

Статья о том, как запустить NiFi в качестве сервиса будет тут.

Статья о том, как изменить порт и сделать прокси при помощи nginx будет здесь.

Статья о настройки авторизации пользователя Администратора будет здесь.

Статья о настройки авторизации к NiFi посредством AD будет тут.

Постоянный редактор и автор сайта

1 comments On Установка Apache NIFI

  • Не так давно мы столкнулись с выбором решения для загрузки данных из внешних источников в кластер Hadoop. Продолжительное время для решения подобных задач у нас использовался Apache Flume. К Flume в целом не было никаких нареканий, кроме нескольких моментов, которые нас не устраивали. были отказоустойчивость и масштабирование. Для тяжелых загрузок, например, по syslog, нужно было настраивать несколько агентов Flume и ставить перед ними балансировщик. Все это затем нужно было как-то мониторить и восстанавливать в случае сбоя.

Leave a reply:

Your email address will not be published.