Apache NiFi チュートリアル: NiFi とは何ですか? Archi構造と設置

Apache NiFi チュートリアルの概要

この Apache NiFi チュートリアルでは、基礎から高度なトピックまですべてを最初から網羅しています。NiFi の定義、歴史、アーキテクチャ、機能、インストール プロセス、ユース ケースなどの概念を学習します。また、Apache NiFi を使用する必要がある理由と、Apache NiFi を実行するためのベスト プラクティスも学習します。

Apache NiFi とは何ですか?

アパッチNiFi は、システム間のデータ フローを自動化および管理するためのオープン ソース ソフトウェアです。 これは、データを処理および配布するための強力で信頼性の高いシステムです。 データ フローを作成、監視、制御するための Web ベースのユーザー インターフェイスを提供します。 実行時にデータを変更するための、高度な構成と変更が可能なデータ フロー プロセスを備えています。

Apache NiFi は、カスタム コンポーネントの開発を通じて簡単に拡張できます。

Apache NIfi を使用する理由

Apache Nifi を使用する理由は次のとおりです。

  • データ インジェストを実行して、多数のデータ ソースからデータを NiFi に取り込み、フロー ファイルを作成できます。
  • リアルタイム制御を提供し、ソースと宛先間のデータの移動を管理するのに役立ちます。
  • エンタープライズレベルでのDataFlowの視覚化
  • 共通のツールと拡張機能を提供する
  • 既存のライブラリを活用し、 Java エコシステムの機能
  • 組織が Nifi を既存のインフラストラクチャと統合するのを支援します
  • NiFiは、データの配信を保証するクラスターでスケールアウトするように設計されています。
  • 洞察とインラインドキュメントを提供するフロー速報でパフォーマンスと動作を視覚化および監視します。
  • コンポーネントを個別に、またはグループ レベルで開始および停止するのに役立ちます。
  • Dataflow のリッスン、フェッチ、分割、集約、ルーティング、変換、ドラッグ アンド ドロップに役立ちます。

Apache NiFi の歴史

  • NSAでXNUMX年以上かけて開発
  • 2014年 - Apache Softwareに寄贈されました Foundation
  • 2015 - NiFi が Apache プロジェクト スイートの正式な一部となりました
  • それ以来、Apache NiFi は 6 ~ 8 週間ごとに新しいアップデートをリリースしています。

ニフィ Archi構造

Apache NiFi はよく考えられたアーキテクチャを備えています。外部ソースからデータが取得されると、Apache NiFi アーキテクチャ内で FlowFile として表現されます。

ニフィ Archi構造
ニフィ Archi構造

NiFiアーキテクチャの主要コンポーネントは次のとおりです。

Nifiコンポーネント Description
フローファイル FlowFileはオリジナルデータにメタ情報が付加されたものです。 CSV やその他のレコードベースのデータだけでなく、写真、ビデオ、オーディオ、その他のバイナリ データも処理できます。
フローファイルプロセッサ NiFi のデータ フローの構成要素として機能する作業を実行します。
フローコントローラー プロセスがどのように接続されているかを記録します。 すべてのプロセスが使用するスレッドとその割り当てを管理します。
ウェブサーバー Web サーバーは、NiFi の HTTP ベースのコマンドと API をホストします。
拡張 JVM 内で動作および実行される NiFi 拡張機能には多くの種類があります。
接続 キューを含むプロセッサと、データのルーティング先に影響を与える関係との間のリンクとして機能します。
背圧 キューに格納できるフローファイルの量やデータサイズを制御することで、システムのオーバーランを防ぎます。
プロセスグループ プロセス グループは、ポートを使用してデータを送受信するプロセスとその接続のセットです。
フローファイルリポジトリ FlowFile リポジトリでは、NiFi はフロー内でアクティブな特定の FlowFile に関する詳細情報の状態を追跡します。
コンテンツリポジトリ コンテンツ リポジトリは、特定の FlowFile の実際のコンテンツ バイトが存在する領域です。
来歴リポジトリ 出所リポジトリは、すべての出所イベント データが収集される領域です。

Apache NiFi の機能

  • NiFiはキューに入れられたすべてのデータのバッファリングをサポートし、キューが指定された制限に達するとバックプレッシャーをかける機能を提供します。
  • NiFi では、XNUMX つ以上の優先順位付けスキームを設定できます。
  • 多くのデータソースに接続プロセッサを提供します
  • あらゆるデバイスをサポート Java
  • 接続が限られた場所に最適
  • トラブルシューティングとフローの最適化のサポート
  • ロールベースの認証/認可を提供します
  • 個々のファイルのダウンロード、回復、再生が可能
  • プロセッサー、コントローラー サービスなどを構築する
  • コンテンツの暗号化、安全なプロトコルを介した通信を提供します
  • 迅速な開発と効果的なテストを可能にします
  • 再利用して組み合わせることでより複雑なフローを作成できる、シンプルな単機能コンポーネントの開発を可能にします。
  • クラスローダーの分離を可能にし、依存関係の管理を容易にします。

Apache NiFi をインストールする方法

以下は、Apache NiFi インストールの段階的なプロセスです。

ステップ1) に行く リンク,

そして「購読を続ける」をクリックしてください

Apache NiFi をインストールする

ステップ2) 次のページで

「規約に同意する」をクリックします

Apache NiFi をインストールする

ステップ3) このページが表示されますが、

この商品をご購読いただきありがとうございます。 リクエストを処理中です。

Apache NiFi をインストールする

ステップ4) 5分後にページを更新してください。

「設定に進む」をクリックします

Apache NiFi をインストールする

ステップ5) 次のページで

設定をデフォルトのままにし、「起動を続ける」をクリックします。

Apache NiFi をインストールする

ステップ6) 次のページで

「起動」をクリックします。 キーの作成が必要になる場合があります

Apache NiFi をインストールする

ステップ7) この成功メッセージが表示されます。

おめでとうございます! このソフトウェアのインスタンスが EC2 に正常にデプロイされました。

Apache NiFi をインストールする

ステップ8) 注意、

EC2 インスタンスのインスタンス ID とパブリック DNS

Apache NiFi をインストールする

ステップ9) セキュリティグループでは、

すべてのトラフィック ルールを受信と送信に追加します

Apache NiFi をインストールする

ステップ10) Nifi にアクセスするには、

URLを使用するだけです

http://publicdns:808/nifi

私たちの場合は次のようになります

http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/

ユーザー:管理者

パスワード : インスタンス ID

Apache NiFi をインストールする

ステップ11) ご覧のとおり、

NiFiのホーム画面

Apache NiFi をインストールする

Nifi の使用例

以下は、Apache NiFi の使用例のリストです。

業種 使用法
保険
  • リスクと引受業務の分析
  • クレーム分析
  • 従量制保険
  • 新製品の開発
ヘルスケア
  • 患者の単一ビュー
  • リアルタイムのバイタルサイン監視
  • EMRの最適化
  • サプライチェーンの最適化
テレコミュニケーション
  • 顧客の単一ビュー
  • CDR分析
  • 動的帯域幅割り当て
製造業
  • 予防メンテナンス
  • サプライチェーンの最適化
  • 品質管理
石油・ガス産業
  • リアルタイム監視
  • 単一ビュー Opera生産
  • 予測メンテナンス
  • ArchiVE と分析
  • 非構造化データの分類
金融サービス
  • マネーロンダリング防止
  • 不正行為の検出
  • リスクデータ管理

Apache NiFi を実行するベスト プラクティス

  • NiFi でテスト/開発/運用環境を分離するのに最適
  • フローをプロセス グループに分割する必要があります
  • 命名規則を使用し、コメントとラベルを使用する
  • プロジェクトを取り込み、テスト、モニタリングの XNUMX つの部分に編成します
  • 変数には一意の名前を使用する

ニフィのデメリット

  • 正確なセキュリティとコンプライアンスの管理が必要
  • Apache NiFi を使用する場合は、基礎となるシステムをよく理解する必要があります
  • データの保管過程を維持する必要がある
  • トランスポート/メッセージングでは十分ではない可能性があります
  • データ アクセスのニーズが、転送に利用可能なリソースを超えています
  • すべてのデータが同じように作成されるわけではありません
  • SSL およびトピック レベルの認証では十分ではない可能性があります

まとめ

  • Apache NiFi は、システム間のデータ フローを自動化および管理するためのオープン ソース ソフトウェアです。
  • NiFiは、データの配信を保証するクラスターでスケールアウトするように設計されています。
  • Nifi は NSA で XNUMX 年以上かけて開発されました
  • データが外部ソースから取得されると、Apache NiFi アーキテクチャ内で FlowFile として表現されます。
  • FlowFile、プロセッサ、コントローラ、Webサーバー、接続、バックプレッシャー、リポジトリは、NiFiアーキテクチャの重要なコンポーネントです。
  • NiFi表現言語は、 Java
  • NiFi は AWS に簡単にインストールできます
  • NiFi は、医療、保険、通信、製造、金融、石油、ガスなどのさまざまな業界で使用されています。
  • ベスト プラクティスとして、プロジェクトを取り込み、テスト、モニタリングの XNUMX つの部分に編成します。