2017-07-07 7 views
2

nifiテンプレートを設計する際に、基礎となるクラスタについて考える必要はありますか?ここでクラスタ化されたnifiのテンプレートを設計する方法

は、私は3つのノードのクラスタを持っている私の簡単な流れ

+-----------------+       +---------------+      +-----------------+ 
|     |       |    |      |     | 
| READ FROM  |       | MERGE  |      | PUT HDFS  | 
| KAFKA   |       | FILES  |      |     | 
|     +-----------------------> |    +---------------------> |     | 
|     |       |    |      |     | 
|     |       |    |      |     | 
|     |       |    |      |     | 
+-----------------+       +---------------+      +-----------------+ 

..ですシステムは、私が「クラスタ」メニューをチェックして、唯一のマスターノードがソースを利用している参照して実行されている場合は、他のクラスタ・ノードは、アイドルらしいです...クラスタやnifiに応じてテンプレートを設計する必要がありますが、そのようなクラスタでは、負荷分散を行う必要があります。

私の同僚の一人が、クラスタ上の各ノードのリモートプロセッサを作成し、これらのテンプレートの前にロードバランサを配置する必要があります。

                +------------------+ 
                    |     |     +-------------+ 
                    | REMOTE PROCESS |     | input port | 
                  +----> | GROUP FOR  |     | (rpg) | 
                  |  | NODE 1   |     +-------------+ 
                  |  |     |      | 
                  |  |     |      | 
                  |  +------------------+      v 
+-----------------+    +-----------------+  RPG 
|     |    |     |  |           +--------------+ 
| READ FROM  |    |     |  |           |    | 
| KAFKA   |    | LOAD BALANCER |  |  +------------------+    | MERGE FILES | 
|     +-------------> |     +-------------> |     |    |    | 
|     |    |     |  |  | REMOTE PROCESS |    |    | 
|     |    |     |  |  | GROUP FOR  |    |    | 
|     |    |     |  |  | NODE 2   |    |    | 
+-----------------+    +-----------------+  RPG  |     |    +--------------+ 
                  |  +------------------+      | 
                  |             | 
                  |             v 
                  | 
                  |  +-------------------+    +---------------+ 
                  |  |     |    |    | 
                  |  | REMOTE PROCESS |    | PUT HDFS  | 
                  +-----> | GROUP FOR  |    |    | 
                    | NODE 3   |    |    | 
                    |     |    |    | 
                    |     |    |    | 
                    +-------------------+    +---------------+ 

そして、何のロードバランサのためのユースケースは、リモートクラスタ以外である(下記のように)、私が操作を高速化するために複数のプロセッサにトラフィックを分割するロードバランサを使用することができますか?

答えて

3

Apache NiFiは自動ロードバランシングやデータの移動を行わないため、クラスタを利用する方法でデータフローを設計する必要があります。これを行う方法は、データフローとデータがクラスタにどのように持ち込まれるかによって異なります。リモートプロセスなし(、あなたが最初の写真のように実行フローを持つことができるはずカフカとあなたの場合

https://community.hortonworks.com/articles/16120/how-do-i-distribute-data-across-a-nifi-cluster.html

は私が一度試してみて、アプローチを要約するために、この記事を書きましたグループ)。これは、Kafkaが各ノードが異なるデータを使用できるようにするデータソースであるためです。

ConsumeKafkaは一つのノードのみで実行されているように見える場合は、この理由のカップルがあるかもしれません...

まず、ConsumeKafkaのみプライマリノードに予定されていないことを確認してください。

次に、カフカのトピックのパーティション数を確認します。 Kafkaクライアント(NiFiで使用)は1つのコンシューマを1つのパーティションに割り当てます。したがって、パーティションが1つだけの場合、NiFiノードを1つしか使用できません。ここではさらに、この動作を説明する記事です:

http://bryanbende.com/development/2016/09/15/apache-nifi-and-apache-kafka

+0

「まず、ConsumeKafkaのみプライマリノードに予定されていないことを確認してください。」 yesss ..これは問題です..ありがとう – ygk

関連する問題