简体   繁体   中英

How to load a Processor into Apache NiFi while it is running?

I it possible to load a new Processor into Apache NiFi while it is running Furthermore, is it possible to update an already loaded Processor in a running Apache NiFi instance?

I am coming from an Erlang background, where the BeamVM can actually facilitate hot module replacements all together with state updates. Its a complicated topic, but possible.

It would be great to at least be able to load new code into a running NiFi instance, without having to stop the cluster when applying new Processors.


A possible workaround I have found (although not preferred) is to use a scripting Processor that can set/update code at runtime via its properties.

Historically it has required a full restart of NiFi to load new NARs, but on the apache master branch there is a new feature to watch a directory and auto-load new NARs, so you can expect this to be available in a future release, possibly 1.9.0 if the community decides on that.

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

We don't plan to re-load existing NARs as it can be problematic to unload classes in the JVM, and also with versioned NARs I would argue that when you deploy a NAR you should be deploying a new version, and not trying to overwrite a version of an already deployed NAR.

Hope that helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM