【问题标题】:Apache NiFi Distribute Map Cache problems in a clusterApache NiFi 在集群中分发地图缓存问题
【发布时间】:2018-09-06 07:55:03
【问题描述】:

我将在单节点 NiFi 上工作的流程移动到 3 节点 NiFi 集群,突然使用 DistributedMapCache 的等待处理器无法按预期工作,这意味着无法恢复缓存中的值。 为了确保缓存中存在该值,我将缓存配置为使用持久目录,因此我能够检查缓存的内容,经过一些测试后发现:

  • 缓存已写入具有写入缓存的流的节点中(DistributedMapCacheClientService 指向本地主机)
  • 客户端只能恢复同一节点中的值。

另一个测试是强制在主节点中执行流,在这种情况下,一切都按预期工作。

另一个测试是同时从所有节点写入缓存,只对主节点有效。

所以我的问题是:

  • DistributedMapCache 真的分布在集群中吗?
  • 我可能遗漏了一些要点或配置错误吗?

【问题讨论】:

    标签: caching cluster-computing apache-nifi


    【解决方案1】:

    您不应该在 DistributedMapCacheClientService 中使用 localhost,只需使用其中一个节点的主机名,那么您的所有客户端都将指向同一个服务器。

    【讨论】:

    • 嗨,Bryan,感谢您的回复,我会尽快尝试,但是使用这种方法,如果节点关闭会怎样?
    • DistributedMapCacheServer 不提供高可用性,因此当它关闭时您会遇到故障,您可以通过适当的路由来处理数据流中的故障,或者您可以使用通过 RedisDistributedMapCacheClient、HBaseDistributedMapCacheClient 或 CouchbaseDistributedMapCacheClient 进行外部缓存
    • 这个想法是使用 Redis 缓存来代替。
    • 谢谢 Bryan,现在正在工作,我不知道/不明白有什么区别,无论如何我要转向真正的故障 HA 缓存。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多