Nifi“按属性分区”如何将FlowFiles发送到其他Nifi节点?

时间:2019-01-28 22:36:44

标签: apache-nifi

我在nifi群集中有3个节点。我正在使用“按属性分区” 将流文件分发到nifi群集中的其他nifi节点。例如,我将“类型” 属性用于“按属性分区”;

FlowFile -> type: A
FlowFile -> type: B
FlowFile -> type: C

对于这种情况,具有相同“类型”的FlowFiles将进入相同的节点。但是,假设一个节点(发送了类型A的流文件)已关闭。具有“ B和C型”的FlowFiles将继续成功发送,而具有“ A型”的FlowFiles将保留在队列中(不会发送。)

同时, 带有“ XY类型”的FlowFile即将到来(第一次。这意味着它从未来过) 。在这种情况下,此传入文件是否仅发送到主动接收数据的节点(发送了“类型B和C”的FlowFiles的节点)?还是可以将其发送到下降节点?

例如此问题;

FlowFile -> type: A -----> Waiting in the queue

FlowFile -> type: B ------> successfully sent

FlowFile -> type: C ------> successfully sent

and

FlowFile -> type: XY ------> Which node can be sent to? (B or C ?)

我不希望XY类型的流文件进入不可用的群集队列。

1 个答案:

答案 0 :(得分:4)

当前,它使用群集中的所有节点(其中一些可能不可用)来计算节点,它实际上并不知道以前是否看到过该值,因此带有XY的流文件仍可以选择不可用的节点。数据将排队等待节点返回。如果该节点不再需要返回,则可以从群集中删除该节点,然后它将为所有排队的流文件重新计算一个新节点。