当前位置: 首页 > 知识库问答 >
问题:

Apache NiFi通过远程进程组的不规则数据流

施念
2023-03-14

我正在评估Apache NiFi在一个项目中的使用。我有四个运行在Ubuntu14系统上的云中的NifiV1.1.2实例。其中三个实例用作远程进程组(R1R2R3),其余实例(M1)用于管理RPG之间的流。m1生成一个流文件,将该流文件通过由三个RPG组成的管道,并在最后记录该流文件。每个RPG只需将r{id}附加到FlowFile中的ProcessedBy属性,这样就可以很容易地看到数据的处理顺序。

我有的问题是订单不是预期的100%的时间。我使用了两个管道(P1P2),它们分别按照R1->R2->R3R2->R1->R3的顺序遍历RPG。我看到的是,P1中的流文件大约有50%的时间不被R2处理,而在P2中,它实际上颠倒了方向,被R2处理了两次,因此流的顺序变成了R2->R1->R2->R3

编辑:

共有1个答案

司空镜
2023-03-14

我并不认为远程进程组具有您所期望的“函数语义”。奇怪的flowfile通信模式之所以会发生,是因为流左边的flowfile会从右边的RPG输出中出现(和相反),但对于RPG输出端口来说,这是正确的行为。

从一个输入端口向远程流发送flowfile并不能保证它会通过同一个RPG图节点上的输出端口“返回”。一个远程输出端口的多个侦听器将各自接收输出的一部分。将一个RPG输入和它的输出直观地连接起来是典型的、推荐的,并且可以说是组织流程的最简单的方法。但这不是必需的。

您可以在远程NIFI上创建不同的命名端口,以提供更多的远程输入/输出选项。

 类似资料:
  • 通过前面的学习我们知道 Java 实际上没有多维数组,只有一维数组。多维数组被解释为是数组的数组,所以因此会衍生出一种不规则数组。 规则的 4×3 二维数组有 12 个元素,而不规则数组就不一定了。如下代码静态初始化了一个不规则数组。 int intArray[][] = {{1,2}, {11}, {21,22,23}, {31,32,33}}; 高维数组(二维以及二维以上的数组称为高维数组)是

  • 远程Linux计算机位于内部网络中,没有公共IP地址。所以我安装了ngrok。 ngrok by@不可恢复(Ctrl C退出)在线隧道状态2.0.19/2.0.17版Web界面http://127.0.0.1:4040 转发tcp://0.tcp.ngrok.io:36428 - 我检查了sshd是否正在运行。 在当地的电脑上,我试着 这引起了 SSH:连接到主机ngrok.com端口36428:

  • > 停止防火墙服务: 服务firewall_service停止 将进程附加到gdbserver 当我尝试通过在主机框上运行'target remote remote_ip:remote_port'来启动主机上的调试时,我得到一个'connection timedout'错误。 你们能看到我做错了什么吗,任何需要检查的东西,或者通过ssh远程调试的替代方法吗?我将不胜感激。谢谢

  • 问题内容: (我是Java新手)我需要启动一个进程并接收2或3个句柄:对于STDIN,STDOUT(和STDERR),因此我可以将输入写入进程并接收其输出,就像命令行管道一样表现(例如“ grep”) 在Python中,可以通过以下代码实现: Java等效项是什么? 到目前为止我已经尝试过 顺便说一句,第一次尝试仅适用于\ n \ n,但不适用于单个\ n(为什么?) 下面的代码有效,但是所有输入

  • 连接失败,出现此异常。我无法追踪到底发生了什么? 另外,getconnection之后的db2diag.log是:

  • 问题内容: 我构建了phoneGap应用程序,它是一个Facebook风格的应用程序,其想法是用户可以发布消息,而他们的朋友可以对此消息发表评论。该应用基于html,js和phoneGap。我有一台带有mysql数据库的服务器。我的问题是如何从远程数据库中拉出和推送数据。我是个初学者,所以我不太确定如何做到这一点。即使加载完成后,我也需要实时更新页面 我用Google搜索它,我意识到我需要使用Aj