9

フローが開発、テスト、および本番段階を経て進行するにつれて、プロセッサー構成を更新するための最良のアプローチを見つけようと奮闘しています。フローが特定の環境にデプロイされるときに、プロセッサ内のホスト、ポートなどの参照を操作することは避けたいと考えています。少なくとも私たちの場合は、ElasticSearch や PostGres などのためにさまざまなホストを用意します。他の人はこれをどのように処理しましたか?

私たちが考慮したこと:

  • 式言語を使用して、プロパティ ファイルから構成をプルします。これは、EL が有効になっているプロセッサには最適ですが、そうでないプロセッサには当てはまりません。
  • フロー xml を操作し、ホスト、ポートなどの構成を上書きします。xml が誤って破損することと、これが NIFI バージョン間でどの程度移植性があるかが少し心配です。

ヒントや提案をいただければ幸いです。検討を怠ってきた明らかな解決策がある可能性は十分にあります。

編集:

Byran が提案したテンプレートを使用します。それらは間違いなく私たちのニーズを満たし、多数の環境にわたって構成を制御するための良い方法であるように思われます.

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

4

2 に答える 2

9

この議論は頻繁に行われますが、ここには間違いなく改善の余地があります...

現在、環境関連のプロパティ値を bootstrap.conf に抽出し、式言語を介してそれらを参照して、flow.xml.gz をある環境から別の環境に移動できるようにすることが 1 つのアプローチであることは間違いありません。あなたが言及したように、これは式言語をサポートするプロパティでのみうまく機能します。

将来これを簡単にするために、変数レジストリと呼ばれるアイデアの機能提案があります。

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

見たいと思うかもしれない興味深いアプローチは、テンプレートを使用することです。これを支援するために使用できる GitHub プロジェクトがあります。

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

于 2016-04-14T09:33:16.950 に答える