2

我只是想了解我们应该如何规划 NiFi 实例的容量。

我们有一个 NiFi 实例,它有大约 500 个流。因此,在 NiFi 画布上启用的处理器总数约为 4000。我们确实同时运行 2-5 个流,这不会超过半小时,即我们以 MB 为单位处理数据。

到目前为止它工作正常,但我们经常看到 outofMemory 错误。所以我们将 xms 和 xmx 参数从 4g 增加到 8g,这已经解决了现在的问题。但展望未来,我们将有更多的流量,我们可能会再次面临内存不足的问题。

那么,任何人都可以提供容量规划矩阵或任何建议来避免此类问题发生之前吗?例如:- 如果我们启用了 3000 个处理器,有/没有任何处理,则需要 Xg 数量的内存。

任何有关 NiFi 容量规划的意见将不胜感激。

提前致谢。

4

1 回答 1

0

由于特定的内存消耗处理器,可能会发生 OOM 错误。例如:SplitXML正在将您的整个记录​​加载到内存中,因此它可以加载一个 1GiB 的文件。

每个处理器都可以记录应该考虑哪些资源。所有 Apache 处理器(据我所知)都记录在案中,因此您可以依赖它们。

顺便说一下,在我们的示例中,SplitXML可以用SplitRecord替换,它不会将所有记录加载到内存中。

因此,即使您同时使用 1000 个处理器,它们消耗的内存也可能不会像一个将整个 FlowFile 内容加载到内存的处理器那样多。

检查您正在使用哪些处理器,并确保您不使用这样的处理器(还有更多这样的处理器将整个文档加载到内存中)。

于 2019-11-17T07:07:41.453 回答