Apache NiFi

O Apache NiFi é uma plataforma que permite a automação do fluxo de dados entre sistemas de software.

A ideia principal por trás do Apache NiFi é simplificar o fluxo de dados entre diferentes fontes e destinos. Isso é feito através de uma interface de usuário baseada em navegador que permite “arrastar e soltar” componentes de processamento de dados em uma tela de design [1].

Dependências

[1] Apache Nifi 1.25.0
[2] Java 21.0.2

Requisitos

  • Java > versão 8 ou 11

java --version
sudo apt install default-jdk
  • Encontre o caminho de instalação do Java. Por default: /usr/lib/jvm/java-11-openjdk-amd64

export JAVA_HOME=/path/to/your/java/installation
echo 'export JAVA_HOME=/path/to/your/java/installation' >> ~/.bashrc
source ~/.bashrc
echo $JAVA_HOME

Instalação

Há duas possibilidades de se instalar o Apache NiFi:

  1. Diretamente na máquina local

  2. Utilizando docker

Instalação local

  • Mova-o para o diretório de instalação que desejar e extraia o arquivo comprimido

mv nifi-1.25.0-bin.zip /usr/local/bin
cd /usr/local/bin
unzip nifi-1.25.0-bin.zip
rm nifi-1.25.0-bin.zip
sudo ./nifi-1.25.0/bin/nifi.sh set-single-user-credentials <usuario> <senha>

É possível configurar a porta em que o Apache NiFi é executado no arquivo conf/nifi.properties

Instalação com docker

  • Instale a última versão do Apache Nifi Docker

docker pull apache/nifi:1.25.0
  • Execute o serviço. Você pode configurar as portas como desejar

docker run --name nifi -e NIFI_WEB_HTTP_PORT='8443' -p 8443:8443 -d apache/nifi:1.25.0 --restart=always
  • É possível habilitar a autenticação, como abaixo

docker run --name nifi -e NIFI_WEB_HTTPS_PORT='8443' -p 8443:8443 -d -e SINGLE_USER_CREDENTIALS_USERNAME=nifi_user -e SINGLE_USER_CREDENTIALS_PASSWORD=nifi_pass apache/nifi:1.25.0 --restart=always
  • Abra a URL http://localhost:8443/nifi no navegador (pode demorar uns minutinhos para subir). Se usou autenticação, use https em vez de http.