如何在运行时将处理器加载到 Apache NiFi 中?

Ove*_*ryd 0 java apache-nifi

我可以在运行时将新处理器加载到 Apache NiFi 此外,是否可以在正在运行的 Apache NiFi 实例中更新已加载的处理器?

我来自 Erlang 背景,其中 BeamVM 实际上可以促进热模块替换以及状态更新。这是一个复杂的话题,但可能。

至少能够将新代码加载到正在运行的 NiFi 实例中,而无需在应用新处理器时停止集群,这将是很棒的。


我发现的一个可能的解决方法(虽然不是首选)是使用脚本处理器,它可以在运行时通过其属性设置/更新代码。

Bry*_*nde 5

从历史上看,它需要完全重新启动 NiFi 才能加载新的 NAR,但是在 apache 主分支上有一个新功能可以查看目录并自动加载新的 NAR,因此您可以期望在未来的版本中可以使用它,可能1.9.0 如果社区决定。

https://issues.apache.org/jira/browse/NIFI-5673

我们不打算重新加载现有的 NAR,因为在 JVM 中卸载类可能会出现问题,而且对于版本化的 NAR,我认为当您部署 NAR 时,您应该部署一个新版本,而不是试图覆盖已经部署的 NAR 的一个版本。

希望有帮助。