如何限制Nifi处理器在群集中的单个节点上运行?

时间:2018-06-19 18:03:12

标签: apache-nifi

我们正在使用NiFi构建数据工作流程,并希望最终(自定义)处理器(运行重复数据删除逻辑)仅运行NiFi集群节点之一(而不是在所有集群节点上运行)。我看到NiFi 1.7.0(尚未发布)具有PrimaryNodeOnly批注,以强制执行单节点执行行为。是否有办法或解决方法在NiFi 1.6.0中强制这种行为?

注意:除了@PrimaryNodeOnly以外,如果NiFi提供一种仅在单个节点上运行处理器的方式(即像@SingleNodeOnly之类的注释)会更好。这样,执行节点不必一定是主节点,因此将减少主节点上的负载。这只是对未来的要求,而不必解决上述问题。

2 个答案:

答案 0 :(得分:2)

在以前的版本中没有强制执行此操作的特定变通办法,它是在数据流设计器上标记要仅在主节点上运行的预期处理器。您可以编写脚本来查询NiFi API中某些类型或名称的处理器,然后将策略检查/设置为“仅主节点”。

答案 1 :(得分:1)

在NiFi 1.6.0中,这是可能的,并且看起来像这样:

enter image description here

enter image description here