/nifi-docker

NiFi docker image customization from the official source

Nifi-Docker

NiFi docker container customization from the official Apache Nifi Docker Image

1. Build Docker

Pull the latest version of Apache Nifi Docker, build and run

$ docker pull apache/nifi:1.16.1
$ docker run --name nifi -e NIFI_WEB_HTTP_PORT='8080' -p 8080:8080 -d apache/nifi:1.16.1 --restart=always 

Entrar em http://localhost:8080/ pela aba anĂ´nima.

2. Download Connectors and Add Timezone

Dive into container shell, add timezone and download JARs & NARs

$ docker exec --user="root" -it nifi /bin/bash
nifi@container_id:/opt/nifi/nifi-current$ echo "java.arg.8=-Duser.timezone=America/Sao_Paulo" >> conf/bootstrap.conf
nifi@container_id:/opt/nifi/nifi-current$ cd lib
nifi@container_id:/opt/nifi/nifi-current/lib$ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/mysql-connector-java-8.0.29.jar
nifi@container_id:/opt/nifi/nifi-current/lib$ wget https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/21.5.0.0/ojdbc8-21.5.0.0.jar
nifi@container_id:/opt/nifi/nifi-current/lib$ wget https://repo1.maven.org/maven2/org/postgresql/postgresql/42.4.0/postgresql-42.4.0.jar
nifi@container_id:/opt/nifi/nifi-current/lib$ wget https://repo1.maven.org/maven2/org/apache/nifi/nifi-kite-nar/1.15.3/nifi-kite-nar-1.15.3.nar
nifi@container_id:/opt/nifi/nifi-current/lib$ wget https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem

3. Restart Nifi Web Service

Inside container, stop the service. It will kick you out of the container.

nifi@container_id:/opt/nifi/nifi-current$ ./bin/nifi.sh stop

Restart you container

$ docker start nifi

Update the restart policy

$ docker update --restart=always nifi

Read current restart policy

docker inspect -f "{{ .HostConfig.RestartPolicy }}" nifi

4. Access Nifi Web Service

Now you can access your Nifi web service at http://localhost:8080/nifi/

If you are in a VPN environment remember to tunnel 8080 port

$ ssh -f user@ip_address -L 8080:localhost:8080 -N

How to tunnel in Putty (for Windows users)

5. Basic Nifi Usage

This wiki page will cover the main proccess of NoHarm integration: Basic Nifi Usage

6. Testing JDBC Connection

  • Download tool from http://jdbcsql.sourceforge.net/
  • Run: java -jar jdbcsql-1.0.zip -h hostname -p 1521 -U user -P pass -d service -m oracle "SELECT table_name FROM all_tables"

7. Install SQL Plus