Apache nifi 如何为集群nifi设计模板
在设计nifi模板时,我们是否需要考虑底层集群 下面是我的简单流程Apache nifi 如何为集群nifi设计模板,apache-nifi,Apache Nifi,在设计nifi模板时,我们是否需要考虑底层集群 下面是我的简单流程 +-----------------+ +---------------+ +-----------------+ | | | | | | | READ
+-----------------+ +---------------+ +-----------------+
| | | | | |
| READ FROM | | MERGE | | PUT HDFS |
| KAFKA | | FILES | | |
| +-----------------------> | +---------------------> | |
| | | | | |
| | | | | |
| | | | | |
+-----------------+ +---------------+ +-----------------+
我有3个节点。。当系统运行时,我检查“集群”菜单,看到只有主节点正在使用源,其他集群节点似乎空闲。。。问题是在这样的集群中,我应该根据集群设计模板,还是nifi应该进行负载平衡
我看到我的一位同事为集群上的每个节点创建了远程处理器,并在模板中的这些节点前面放置了一个负载平衡器,这是必需的吗?(如下图所示)
负载均衡器的使用情况是什么除了远程群集,我可以使用负载均衡器将流量拆分为多个处理器以加速操作吗?Apache NiFi不进行任何自动负载平衡或数据移动,因此您可以自行设计数据流,以利用您的群集。如何做到这一点将取决于数据流以及如何将数据引入集群 我写这篇文章是为了尝试并总结这些方法: 在使用Kafka的情况下,您应该能够按照第一张图片中所示运行流(没有远程进程组)。这是因为Kafka是一个允许每个节点使用不同数据的数据源 如果ConsumeKafka似乎只在一个节点上运行,那么可能有几个原因
首先,确保不会仅为主节点安排ConsumeKafka 其次,计算出您的卡夫卡主题有多少个分区。Kafka客户端(由NiFi使用)将1个使用者分配给1个分区,因此,如果只有1个分区,则只能有1个NiFi节点从中消费。下面有一篇文章进一步描述这种行为:
“首先,确保ConsumeKafka未仅计划用于主节点。”是的。。这就是问题所在。。谢谢
+------------------+
| | +-------------+
| 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 | | |
| | | |
| | | |
+-------------------+ +---------------+