有人可以告诉我Apache NiFi中“执行”选项的用途是什么?
该选项可用于大多数处理器,并且当前可以选择2个值-主节点和所有群集。
我可以想到的一个用例是-从Kafka读取数据,并且您希望负载平衡读取的数据。
由于大多数处理器都提供了此选项,可能会使我感到困惑。
答案 0 :(得分:3)
仅主节点用于源处理器仅应在一个节点上执行的情况。例如,如果您在3节点群集中的流的开头具有GetSFTP处理器,则您不希望它在所有3节点上运行,因为它们都将获得相同的文件。
最主要的主要节点用法可能就是List + Fetch模式。该流程首先从仅在主节点上运行的ListHDFS之类的List处理器开始,然后是负载平衡连接,以将列表分发到所有节点,并连接到在所有节点上运行的FetchHDFS。
https://pierrevillard.com/2018/10/29/nifi-1-8-revolutionizing-the-list-fetch-pattern-and-more/
不是流中第一个处理器的处理器永远不要真正只设置为主节点,即使应用程序允许它也是如此。这可能可以改善。