Como instalar Apache NiFi

Olá Pessoal.

Vou escrever um pouco sobre o Apache NiFi e vamos começar com como instalá-lo, aqui não nos preocupando muito com best practices. Ao longo destes posts vamos conversando um pouco mais sobre o que ele faz, mas neste momento vou aproveitar para deixar registrado os steps necessários para instalação.
Meu cenário é uma Instance r4.large spot (por apenas $ 0,0315 Trumps/hora) na AWS em uma rede Privada, sem acesso direto pela internet, mas você pode usar uma rede Pública ou mesmo uma VM.
A imagem utilizada é a ami-d5bf2caa, de CentOS 7.

[root@ip-20-0-8-150 ~]# cat /etc/*release
CentOS Linux release 7.5.1804 (Core)
NAME="CentOS Linux"

Vamos baixar os binários do NiFi e o RPM do Oracle JDK.

[root@ip-20-0-8-150 ~]# yum install wget -y
[root@ip-20-0-8-150 ~]# wget http://ftp.unicamp.br/pub/apache/nifi/1.9.0/nifi-1.9.0-bin.tar.gz
[root@ip-20-0-8-150 ~]# wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm

Instalando o Java:

[root@ip-20-0-8-150 ~]# rpm -Uvh /root/jdk-8u201-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_201-fcs        ################################# [100%]
...

Agora vamos mover o NiFi para outra pasta e descompactá-lo:

[root@ip-20-0-8-150 ~]# mkdir /u00
[root@ip-20-0-8-150 ~]# mv nifi-1.9.0-bin.tar.gz /u00/
[root@ip-20-0-8-150 ~]# cd /u00/
[root@ip-20-0-8-150 u00]# tar -xf nifi-1.9.0-bin.tar.gz

Após descompactá-lo, vamos acessar a pasta bin e criar o serviço.

[root@ip-20-0-8-150 bin]# pwd
/u00/nifi-1.9.0/bin
[root@ip-20-0-8-150 bin]# ./nifi.sh install
Service nifi installed

Antes de startar o serviço, vamos fazer um ajuste no arquivo nifi-env.sh.

Na linha onde começa:

#export JAVA_HOME

Trocamos pelo nosso JAVA_HOME:

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/jre

Startando:

[root@ip-20-0-8-150 bin]# service nifi start
Java home: /usr/java/jdk1.8.0_201-amd64/jre
NiFi home: /u00/nifi-1.9.0

Bootstrap Config File: /u00/nifi-1.9.0/conf/bootstrap.conf

Serviço startado com sucesso. Se você não fizer o step do nifi-env.sh, receberá um alerta:

[root@ip-20-0-8-150 bin]# service nifi start
nifi.sh: JAVA_HOME not set; results may vary

Uma vez que startado, basta acessar utilizando o IP Publico (no meu caso, com o hostname privado):
http://ip-20-0-8-150.ec2.internal:8080/nifi/

Se você tiver como mesmo cenário que eu, terá um trabalhinho a mais, mas explico aqui como acessar serviços web em subnets Privadas..

Até a próxima.

Deixe um comentário

O seu endereço de email não será publicado.