我正在处理我有要求的 spring xd 和 gemfire xd,我从运行 xd-admin 的节点(本地文件系统)之一收集数据。我想收集这个文件并发送处理。以下是我的流定义。
源文件 /tmp/xd/input --ref true | 处理器(消息收集器) | 处理器((方程计算)|水槽(gemfire xd)
我有 3 个节点 spring xd 和 gemfire xd 集群。第一个节点(xd-admin.xd-container)和 2 & 3 个节点 xd-container 正在运行。容器已正确注册到 xd-admin。我配置了单个 redis 实例。
我的要求是,我想从文件中收集我的数据并发送进程并存储到 gemfire xd。
messageCollector --> 将所有消息作为 HashMap 收集并发送到下一个处理器 Equation calc,这里所有记录都将通过方程式并得到计算,结果将发送到下一个 sink(gemfire xd) 插入。
这一点,我已经在单节点环境中进行了测试并且运行良好。现在,如上所述,我转向分布式环境。
我应该如何在分布式环境中创建模块。我是否需要将所有模块移动到所有可用节点。
或者
源模块仅存在于实际文件和其余模块进入所有可用容器的位置。
在这里,在方程式计算器模块中,我正在维护文件中每条记录的序列。并且应该在 gemgire xd(sink) 中保持相同的顺序。
由于现在它处于单节点环境中,因此它作为单节点处理的整个事物运行良好。
现在,我转移到了分布式环境,其中没有如上所述的容器。如何保留我的序列直到插入。
请帮助我在分布式环境中部署模块。
谢谢,-Suyodha