2018年9月28日金曜日

DockerでApache NiFi 1.7.1、PostgreSQL10.5がインストールされたコンテナを構築する

Apache Nifiは様々なデータを処理・分配するためのソフトウェアです。

○Apache NiFiの画面


○構築方法
以下の手順で、Apache NiF i.7.1とPostgreSQL10.5のコンテナを構築・実行します。

1. Apache NiFi公式にPostgreSQL JDBCドライバを追加したイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t nifi171pgsql .

Dockerfile
FROM apache/nifi:1.7.1
USER root
RUN wget https://jdbc.postgresql.org/download/postgresql-42.2.4.jar -P /usr/share/java
USER nifi
VOLUME /opt/nifi

2. Apache NiFiとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
COMPOSE_HTTP_TIMEOUT=180 docker-compose up -d

docker-compose.yml
version: "2"
services:
  db:
    image: postgres:10.5-alpine
    container_name: "nifi-db"
    ports:
      - "5432:5432"
    volumes:
      - "nifidb-data:/var/lib/postgresql/data"
    environment:
        POSTGRES_DB: nifi
        POSTGRES_PASSWORD: nifi
  nifi171pgsql:
    image: nifi171pgsql
    container_name: "nifi171pgsql"
    volumes:
      - "nifi-data:/opt/nifi"
    ports:
      - "8080:8080"
    depends_on:
      - db
volumes:
  nifidb-data:
    driver: local
  nifi-data:
    driver: local

3.ブラウザから以下のURLにアクセス
http://<Dockerホスト名またはIP>:8080/nifi/

※DBへの接続
4.DBCPConnectionPoolで、以下のようにパラメータを設定してPostgreSQLにアクセスします。
Database Connection -> URL jdbc:postgresql://db:5432/nifi
Database Driver Class Name -> org.postgresql.Driver
Database Driver Location(s) -> /usr/share/java/postgresql-42.2.4.jar
Database User -> postgres
Password -> nifi


○関連情報
・Apache NiFiに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿