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.