Apache NiFi [2] - NiFiの構築/アクセス -

前回の記事ではApache NiFiとは何かについて紹介しました。

今回の記事ではApache NiFiを単体で構築する手順を説明します。

「Apache NiFiとはなにか」については以下の記事をご確認ください。

blog.jbs.co.jp

前提条件

次の環境を用意します。

  • Ubuntu Server 22.04の仮想マシン(以下、VM)
  • NiFiバージョン 1.20.0
  • VMは構築されている状態で、インターネットにアクセスできること

NiFiはスループット/耐障害性能を高めるために通常クラスタで構築をしますが、 今回は検証のため、自分のPCにVirtualBoxを入れてVMを立てたうえで検証をします。

構築手順

Javaのインストール

まずNiFiを動作させるのに必要なJavaのインストールを行います。

sudo apt install openjdk-11-jdk

現在のNiFi 1.x.xではJavaは1.8系と1.11系が利用できますが、将来的にはJava 1.8系は利用できなくなる予定です。

参考

cwiki.apache.org

issues.apache.org

NiFiのダウンロードリンクを確認

NiFi公式ページにアクセスします nifi.apache.org 公式ページ上部にあるDownloadsをクリックし、Download NiFiをクリックします。 Releasesにある各バージョンのBinariesからリンクをクリックします HTTPの下にあるリンクをコピーします

NiFiのダウンロード

VMにログインし、wgetでファイルのダウンロードをします。

wget https://dlcdn.apache.org/nifi/1.20.0/nifi-1.20.0-bin.zip

ZIPの解凍

ZIP解凍のためのUNZIPのインストール

以下のコマンドを実行します

sudo apt install unzip
ZIPファイルの解凍
unzip nifi-1.20.0-bin.zip
ls -l

nifi-1.20.0
nifi-1.20.0-bin.zip

ファイルの確認

解凍されたディレクトリに移動
cd nifi-1.20.0
ディレクトリ内の確認
ls -l

bin
conf
docs
extensions
lib
LICENSE
NOTICE
README

各ディレクトリは以下のような内容となっています。

  • bin:実行用のshellscriptやbatファイル等スクリプト
  • conf:設定ファイル
  • docs:NiFiドキュメントのHTML
  • extensions:カスタムプロセッサ置き場
  • lib:NiFiの本体やデフォルトで入っているプロセッサ

NiFIのインストール

以下のコマンドでインストール用のスクリプトを実行して、NiFiをインストールします。

sudo ./bin/nifi.sh install

サービス登録の確認

sysytemctlでサービスとしてNiFIが実行できるようになっていることを確認します。

systemctl status nifi.service

サービス起動前の設定

ログイン情報の登録

ログイン情報の登録を行います。昔はこの手順無しでNiFiUiを開くことができたのですが、最近のバージョンではこの登録を行わないとNiFiにアクセスができません。

./bin/nifi.sh set-single-user-credentials <User> <Password>

NiFi設定の編集

外部からアクセスできるようにNiFiの設定を変更します。 以下のコマンドを実行して設定ファイルを開きます。

vi conf/nifi.properties

以下の設定を変更します。

nifi.web.https.host=127.0.0.1
nifi.web.request.ip.whitelist=

下記のように設定します。

nifi.web.https.host= <VMのIP>
nifi.web.request.ip.whitelist= <アクセス元のIP(今回はホストPCのIP)>

FW設定の変更

FW設定の変更を行い外部からNiFiにアクセスできるようにします。

sudo ufw allow 8443/tcp

NiFiの起動

以下のコマンドでNiFiを実行します。

systemctl start nifi

NiFiサーバが立ち上がるまで多少時間がかかりますので少し待ってから、ホスト側からブラウザでVMのNiFiに接続します。 ポートはデフォルトでは8443です。

https://<VMのIP>:8443/nifi

証明書周りでブラウザで警告が出ますが、詳細設定→にアクセスする(安全ではありません)をクリックして進みます。

先ほど登録したログイン情報を入力してログインします

NiFiにログインできました!

まとめ

NiFiは簡単に構築できるようにスクリプトが用意されており、すぐに利用可能です。

次回は簡単なフローを作って動作の確認を行います。

執筆担当者プロフィール
里見 悠太

里見 悠太(日本ビジネスシステムズ株式会社)

Hadoop/NiFi周りを得意としています。 SparkやKafkaを使ったデータフローについて勉強中です。

担当記事一覧