【问题标题】:Can I use the same flow.xml.gz for two different Nifi cluster?我可以为两个不同的 Nifi 集群使用相同的 flow.xml.gz 吗?
【发布时间】:2021-07-22 18:08:17
【问题描述】:

我们有一个 13 个节点的 nifi 集群,大约有 50k 个处理器。 flow.xml.gz 的大小约为 300MB。启动 13 个节点的 Nifi 集群,通常需要 8-10 个小时。最近我们将集群分成两部分,5 节点集群和 8 节点集群,两者都具有相同的 300MB flow.xml.gz。从那时起,我们无法在两个集群中启动 Nifi。此外,我们没有看到任何与此问题相关的有效日志。是否可以拥有相同的 flow.xml.gz 。在拆分 Nifi 集群时,我们可能会遗漏哪些最佳实践。

【问题讨论】:

  • 您是如何准确拆分集群的?他们还在共享 zookeeper 集群吗?
  • @Cyrus 是的,我们仍在为两个 nifi 集群使用相同的 Zookeeper。有什么问题吗?
  • 不应该有,如果您指定了不同的根节点而不是 /nifi。如果两个集群仍在尝试写入 /nifi 根节点,它将无法工作。
  • @Cyrus 我们分离了根节点。两个集群在 zookeeper 中都有不同的根节点。集群 1 配置了 /nifi1,集群 2 配置了 /nifi2。
  • 我对这么大的流量没有任何经验,但是由于每个节点都加载并运行完整的流量,所以没有理由一个较小的集群不能运行它。您是否尝试过在独立的 NiFi 安装上加载流程?

标签: apache-nifi cloudera


【解决方案1】:

您提出的许多问题都归结为“如何通过非常大的 flow.xml.gz 提高 NiFi 集群的性能”。 如果没有关于您的集群及其中的流程的更多详细信息,我无法给出明确或保证有效的答案,但我可以指出一些步骤。

如果不拆分流,拆分集群是不行的。

是的,您将在一定程度上减少集群通信开销,但您可能有许多输入处理器设置为“仅限主节点”。如果您在两个集群上加载相同的 flow.xml.gz,则两者都会有一个主节点执行这些,从而导致争用问题。

更重要的是,由于每个节点仍会加载所有 flow.xml.gz(解压缩后可能为 4 Gb),因此您没有任何其他性能优势,并且在启动时验证流中的 50k 处理器仍然需要很长时间。

如何拆分集群

以您所做的方式拆分集群可能会留下对现在在另一个集群中的节点的引用,例如在本地状态目录中。对于 NiFi 集群,这可能会导致选举新集群协调器和主节点时出现问题,因为无法达到法定人数。

首先从集群 GUI 中断开、卸载和删除这些节点会更干净,以便删除这些引用。然后可以将这些节点配置为具有空流的新集群。即使您稍后再次使用旧流程,也可以使用空流程对其进行测试,以使其更快。

由于您已经拆分了集群,我会尝试启动 8 个成员集群中的一个节点,看看您是否可以访问集群菜单以删除拆分的节点(断开和卸载可能不再起作用)。然后对于集群的其他 7 个成员,删除 flow.xml.gz 并启动它们。他们应该从正在运行的节点复制流。您应该调整 nifi.properties (nifi.cluster.flow.election.max.candidates) 中预期的候选人数,使其不大于节点数,以稍微加快此过程。

如果成功,您将在 8 个成员集群上运行 300 MB 流,并在新的 5 个成员集群上运行一个空流。 将新集群连接到您的开发管道(NiFi 注册表、模板或其他)。然后您可以停止 8 个成员集群上的进程组,将它们导入新集群,并在验证流程在新集群上运行后,从旧集群中删除进程组,然后慢慢缩小它。

如果您没有管道,或者重新创建所有控制器和参数上下文的工作量太大,您可以将 flow.xml.gz 的副本复制到一个新节点,仅启动该节点并删除您所做的所有内容不需要。只有在那之后,您才能再次启动其他程序(使用他们的空 flow.xml.gz)。

如需更多专家建议,您还应该尝试 Apache NiFi 用户电子邮件列表。如果您在问题中提供了足够的相关详细信息,那么那里的人可能知道您的集群出了什么问题。

【讨论】:

  • 非常感谢您的意见。最后,两个 Nifi 集群都在 4 天后启动。我们实际上遵循了上面提到的大部分要点。只有一个步骤不包括“断开、卸载和删除”。
  • @VinayAnnayya 不客气。如果您认为它是您问题的正确答案,也请接受该答案,以便其他人可以看到它对您有用。
  • 接受了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多