Apache nifiのインストールと簡単な動作確認

今回はApache nifiのインストールと簡単な動作確認を行ってみます。

Apache nifiとはシステム間のデータフローを自動化するために作られたツールです。

Apache NiFi

f:id:kashigeru:20161221115219p:plain:w200

なんかよく理解出来ないのでとりあえずやってみよう。

インストール

Apache NiFi Downloadsからダウンロードします。
今回はnifi-1.1.0-bin.tar.gzをダウンロードしました。

ダウンロードしたファイルを展開してbin/nifi.sh startを実行すれば起動します。

# bin/nifi.sh start

Java home: /usr/java/jdk1.8.0_60
NiFi home: /root/nifi-1.1.0

Bootstrap Config File: /root/nifi-1.1.0/conf/bootstrap.conf

ブラウザでアクセスします。 http://IP-Address:8080/nifi

f:id:kashigeru:20161221115935j:plain:w400

設定

今回は初回なので入力:ローカルファイル→出力:ローカルファイルを実行してみます。
ローカルディレクトリ/tmp/nifi_sourceにあるファイルを/tmp/nifi_destに移動させるというシナリオにします。

まず入力側を設定します。
画面上部のproccessorアイコンを中央へドラッグ&ドロップします。 f:id:kashigeru:20161221120854j:plain:w400

選択画面が出るので[Get File]を選択してADD f:id:kashigeru:20161221120907j:plain:w400

出力側も同様にproccessorアイコンを中央へドラッグ&ドロップし[Put File]をADDします。
下記画面のように配置します。
f:id:kashigeru:20161221121420j:plain:w400

次に入力と出力を繋ぎます。
[GetFile]をポイントすると丸い矢印のアイコンが出るのでそれを[PutFile]までドラッグ&ドロップします。
CreateConnectin画面が出るのでADDします。

下記のように入力と出力が接続された状態となります。 f:id:kashigeru:20161221121551j:plain:w400

入力側、出力側を設定していきます。
[Get File]を右クリックしConfigureをクリックします。 f:id:kashigeru:20161221122034j:plain:w400

PROPETIESタブを下記のように設定します。
Input Directoryに/tmp/nifi_sourceを指定
f:id:kashigeru:20161221175411j:plain:w400

[Put File]も同様に下記のように設定します。 f:id:kashigeru:20161221122632j:plain:w400

確認

/tmp/nifi_sourceにtest.txtというファイルを作成します。
nifi_destディレクトリには何も無い状態です。

# ls /tmp/nifi_source/
test.txt
# ls /tmp/nifi_dest/
#

ではスタートさせます。 [Get File][Put File]共に右クリックしStartをクリックします。 f:id:kashigeru:20161221123931j:plain:w400

下記のように[Get File]はoutが[Put File]はinがカウントアップします。
f:id:kashigeru:20161221124512j:plain:w400

/tmp/nifi_sourceと/tmp/nifi_destディレクトリを確認します。

# ls /tmp/nifi_source/
#
# ls /tmp/nifi_dest/
test.txt

nifi_sourceにあったファイルがnifi_destに移動しています。

以上、簡単なnifiの動作確認でした。
processorには他にもたくさんのコンポーネントがあるので今後試してみたいと思います。