apache-nifi - 如何为集群nifi设计模板

标签 apache-nifi

设计nifi模板时需要考虑底层集群吗?

这是我的简单流程

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

我有3个节点集群..当系统运行时,我检查“集群”菜单,看到只有主节点正在利用资源,其他集群节点似乎空闲...问题是在这样的集群中我应该根据以下内容设计模板吗cluster 或 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          |               |               |
                                                                    |                   |               |               |
                                                                    |                   |               |               |
                                                                    +-------------------+               +---------------+

除了远程集群之外,负载均衡器的用例是什么?我可以使用负载均衡器将流量拆分到多个处理器以加速操作吗?

最佳答案

Apache NiFi 不会执行任何自动负载平衡或数据移动,因此您需要以利用集群的方式设计数据流。如何执行此操作取决于数据流以及数据如何带入集群。

我曾经写过这篇文章来尝试总结这些方法:

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

在使用 Kafka 的情况下,您应该能够按照第一张图片所示运行流程(没有远程进程组)。这是因为 Kafka 是一个数据源,它允许每个节点消费不同的数据。

如果 ConsumeKafka 似乎仅在一个节点上运行,则可能有多种原因......

首先,确保ConsumeKafka 不只安排在主节点上。

其次,计算出您的 Kafka 主题有多少个分区。 Kafka 客户端(由 NiFi 使用)会将 1 个消费者分配给 1 个分区,因此如果您只有 1 个分区,那么您只能有 1 个 NiFi 节点从中使用。这里有一篇文章进一步描述了这种行为:

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

关于apache-nifi - 如何为集群nifi设计模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44972716/

相关文章:

mysql - 使用 apache-nifi 从流文件内容查询数据库记录以检索数据

mysql - NIFI JDBC 连接到 MariaDB UTF8 支持

apache-nifi - 如何生成流文件属性的哈希值(其中一些)

apache-nifi - Nifi 自定义处理器异常

regex - 如何统计值在一行中出现的次数?

apache-nifi - ExecuteSQL 和 ExecuteSQLRecord 的区别

Docker:引起:java.nio.file.FileSystemException:./conf/flow.xml.gz:资源忙

http - NiFi中的重试和失败队列优先级

docker - 无法从NiFi发送到Kafka

java - 从apache nifi中的嵌套json中提取值