2016-04-13 26 views
3

私たちは、開発、テスト、およびプロダクションの段階が進むにつれて、プロセッサ構成を更新するための最善の方法を見つけようとしています。フローが特定の環境にデプロイされているときに、プロセッサ内のホスト、ポートなどの参照を操作することは避けてください。少なくとも私たちのケースでは、ElasticSearch、PostGresなどのホストには異なるホストが用意されています。NIFI-Dev to Test to Prod

物事は我々が検討している:

  • は、式言語を使用して、ファイルのプロパティから設定を引き出します。これは、ELを有効にしたプロセッサでは有効ですが、そうでないプロセッサでは有効ではありません。
  • フローxmlを操作し、ホスト、ポートなどの設定を上書きします。偶然にXMLを壊してしまい、NIFIバージョン間でどのように移植可能になるか心配です。

ご意見やご提案をいただければ幸いです。私たちが無視しようとしている明らかな解決策がある可能性は十分あります。

EDIT:

我々はByranが示唆されたテンプレートで行っています。彼らは間違いなく私たちのニーズを満たし、多くの環境で構成を制御する良い方法と思われます。

https://github.com/aperepel/nifi-api-deploy

+0

こんにちは、私はこのnifi-api-deployプロジェクトの作成者です。私は、フィードバックと、それをどのように使用したいのかに基づいて改善してきました。お気軽にご参加いただき、ご意見やご要望をお寄せください。 – andrew

答えて

6

、あなたは現在一つのアプローチはbootstrap.confに、環境関連のプロパティ値を抽出することであることを正しいこの議論は頻繁に来て、改善の余地がここに間違いがある...

それを表現言語で参照して、flow.xml.gzをある環境から別の環境に移動することができます。あなたが言及したように、これは式言語をサポートするプロパティでのみうまく動作します。将来的にはこれを容易にするためには

は、変数のレジストリと呼ばれるアイデアのための機能の提案があります:

https://cwiki.apache.org/confluence/display/NIFI/Variable+Registry

テンプレートを使用しているを見てみたいことがあり興味深いアプローチ。これを支援するために使用することができますGitHubのプロジェクトがあります:

https://github.com/aperepel/nifi-api-deploy

+0

いつものように、入力していただければ幸いです。私はテンプレートを見ていきます。 – scarpacci

+0

こんにちはブライアン、私は@ scarpacciとnifi-api-deployユーティリティを見て、それは間違いなく正しい軌道にあるようです。私たちはかなり複雑なフローを持っていて、書かれたコードは、ルートレベルのプロセッサーグループまたはコントローラーのプロセッサー/デプロイメントをアンデプロイしてもうまく動かないようです。手動での削除と再導入は問題なく動作していたようです。含まれているすべてのプロセッサが停止しているとマークされている場合でも、プロセッサグループを自動起動するように見えます。 –

+0

こんにちはジョシュ、それはあなたが探しているもののための正しい道にあるようだとうれしい。機能性に関しては、プロジェクトはコミュニティメンバーによって管理されているので、何かが正しく動作していないと思われる場合は、おそらくGitHubページから問題を提出することをお勧めします。議論が進む。自動起動プロセスグループに関する部分は、対処すべき何かのように聞こえる。 –

2

あなたはNIFIテンプレートの展開を自動化するために、この記事でautomating NIFI template deployment

をloookすることができ、うまく機能ツールがあります:https://github.com/hermannpencole/nifi-config

    1. あなたnifi開発を準備
    2. 展開
    3. nifi
    4. 上のテンプレートを作成し、ツールでそれ
    5. Extracに設定例をダウンロードし
  • ツールを使用して古いバージョンをアンデプロイ生産
    1. にデプロイツールを使用したテンプレート
    2. ツールを使用した生産構成の更新