如何为NiFi设置分布式映射缓存?

14

我对NiFi完全是新手,只是在测试处理器。

我尝试在我的测试中使用WaitNotify处理器,但我必须设置分布式映射缓存(服务器客户端?)。

NiFi文档假定我有一定的理解能力,但我没有。

我已经在我的电脑上(macOS)安装了memcached,并验证它在端口11211(默认)上运行。我在NiFi的CONTROLLER SERVICES下创建了一个DistributedMapCacheClientServiceDistributedMapCacheServer,但我得到了java.net.SocketTimeoutException和其他错误。

这个主题是否有好的教程?有人可以建议如何继续吗?

2个回答

43

DistributedMapCacheClientServiceDistributedMapCacheServer不需要额外的软件。

要创建这些服务,请右键单击画布,选择配置,然后选择控制器服务选项卡。您可以通过在右侧单击+按钮并按名称搜索来添加新服务。

  1. 创建默认参数(端口4557)的DistributedMapCacheServer并启用它。这将启动内置的缓存服务器。

  2. 创建主机名为localhost和其他默认参数的DistributedMapCacheClientService并启用它。

  3. 创建一个简单的流程GenerateFlowFile,设置运行计划和参数中的非零字节大小。 将其连接到PutDistributedMapCache,将Entry Identifier设置为Key01,并选择您的DistributedMapCacheClientService

尝试运行它。如果端口4557未被其他软件使用,则放置缓存应该有效。 进入图像描述


2
这个能在集群化的nifi上工作吗?我的意思是DistributedMapCacheServer和DistributedMapCacheClientService。 - Darshan
将其重新启动以确定它是否适用于集群化的NiFi设置。 - edjm
这篇帖子 https://community.cloudera.com/t5/Support-Questions/how-to-put-data-in-PutDistributedMapCache/td-p/171803 很有帮助,因为它指向了这个位置,XML可以帮助你理解应该在配置字段中设置什么 https://gist.github.com/ijokarumawak/8ba9a2a1b224603f877e960a942a6f2b - edjm

1

@Darshan 你好,这段内容的翻译如下:

提供与DistributedMapCacheServer通信的能力。这可以用于在NiFi集群中的节点之间共享Map。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接