2016-06-21 65 views
3

NiFi v0.6.1を使用するとバックアップ/アーカイブをインポートできますか?NiFiでバックアップをインポートする方法はありますか?

POST /controller/archiveを呼び出すと、REST APIまたは「コントローラ設定」(ツールバーボタン)をクリックしてから「バックアップフロー」(リンク)を使用してファイルをバックアップすることを意味します。

バックアップを解凍してテンプレートとしてインポートしようとしましたが、動作しませんでした。しかし、それをエクスポートされたテンプレートファイルと比較した後、フォーマットは合理的に異なります。しかし、おそらくそれをテンプレートに変換する方法がありますか?

現時点では、トップレベルのフローでコンポーネントを選択しないで「テンプレートを作成」を選択することです。私のすべてのコンポーネントを含むテンプレートが追加されます。それから私はそれをエクスポートします。私の問題は、REST APIを使用して自動化するのはちょっと難しいことです。私はFiddlerを使ってUIが何をしているのかを判断し、最初にすべてのコンポーネント(ラベル、プロセッサー、接続など)を含むスニペットを生成します。次に、スニペットIDを使用してcreate template(POST /nifi-api/contorller/templates)を呼び出します。したがって、テンプレート呼び出しは簡単ですが、スニペットの定義を生成するにはいくつかの作業が必要です。

注:

https://cwiki.apache.org/confluence/display/NIFI/Configuration+Management+of+Flows

答えて

9

NiFiインスタンスの全体的な流れは、flow.xmlと呼ばれるファイルに保存されています。次の機能要求は、私はちょうどその代わりに使用すると仮定しています実装されていたら。 gzをconfディレクトリ(クラスタ内のflow.xml.tar)に追加します。バックアップ機能は、特定の時点でそのファイルのスナップショットを作成し、conf/archiveディレクトリに保存しています。後で、NiFiを停止し、conf/flow.xml.gzをそれらのバックアップの1つに置き換えて、その状態にフローを復元することができます。

テンプレートは、flow.xml.gzとは異なる形式です。テンプレートは公開され、共有可能であり、フローの一部、またはコンポーネントが選択されていない場合はフロー全体を表すために使用できます。テンプレートをモデルとして使用してフローを展開し、基本的にプロセスグループへのフローを編成し、各グループのテンプレートを作成している人もいます。このプロジェクトは、テンプレートで動作するようにいくつかの自動化を提供します。https://github.com/aperepel/nifi-api-deploy

3

は、あなただけの、NiFiを停止nifiフローの設定ファイルを置き換える(例えば、これはconfディレクトリ内flow.xml.gzすることができる)とバックアップNiFiを起動する必要があります。

nifi.propertiesファイルの文字列がnifi.flow.configuration.file=であることを確認して、設定した内容を確認してください。

クラスタ化モードを使用している場合は、NCMでのみ行う必要があります。

関連する問題