Nifi 负载均衡器

Nifi load balancer

我搭建了一个 3 主机的 nifi 集群。它在工作,但我不能使用平衡器。我所能做的就是直接连接到单个主机。有人使用平衡器设置了 nifi 集群吗? IE。你如何处理证书问题?

您是否尝试对 UI 交互或特定 processor/input 源进行负载平衡?使用 NiFi 的零主集群 (ZMC),在 1.0.0+ 中可用,您可以连接到任何连接节点的 UI 并监控和修改流。如果您正在尝试对输入数据进行负载平衡,我建议要么在主节点上运行一个单点入口处理器(请参阅下面的摘录),然后在整个集群中分发数据,要么如果您确实需要立即进行负载平衡性能,可能设置类似 HAProxy 或另一个前端负载平衡器(甚至循环 DNS)并指向所有可用节点。

如果您尝试跨集群负载平衡工作,Remote Process Groups, which allow for transmission between nodes,自动在可用的 NiFi 节点之间平衡数据。

来自NiFi Admin Guide

Primary Node: Every cluster has one Primary Node. On this node, it is possible to run "Isolated Processors" (see below). ZooKeeper is used to automatically elect a Primary Node. If that node disconnects from the cluster for any reason, a new Primary Node will automatically be elected. Users can determine which node is currently elected as the Primary Node by looking at the Cluster Management page of the User Interface.

Isolated Processors: In a NiFi cluster, the same dataflow runs on all the nodes. As a result, every component in the flow runs on every node. However, there may be cases when the DFM would not want every processor to run on every node. The most common case is when using a processor that communicates with an external service using a protocol that does not scale well. For example, the GetSFTP processor pulls from a remote directory, and if the GetSFTP Processor runs on every node in the cluster tries simultaneously to pull from the same remote directory, there could be race conditions. Therefore, the DFM could configure the GetSFTP on the Primary Node to run in isolation, meaning that it only runs on that node. It could pull in data and - with the proper dataflow configuration - load-balance it across the rest of the nodes in the cluster. Note that while this feature exists, it is also very common to simply use a standalone NiFi instance to pull data and feed it to the cluster. It just depends on the resources available and how the Administrator decides to configure the cluster.