Apache NiFi upgrades

Upgrade pages for the parts of NiFi 2 that break existing flows or custom code, and for moving between 2.x releases, based on the NiFi migration guidance and deprecation documentation.

Upgrading between Apache NiFi 2.x releases

What breaks when moving between NiFi 2.x minor versions such as 2.4 to 2.12: removed properties, renamed component properties in 2.7, the Jolt library change in 2.8, RecordPath type fixes in 2.10 and DNS hostnames required for TLS cluster traffic in 2.12.

Replacing NiFi templates with JSON flow definitions

Moving reusable flows off XML templates, which NiFi deprecated in 1.14.0, to JSON flow definitions and version-controlled process groups before upgrading to NiFi 2, including how to export, store and re-import them.

Migrating NiFi variables to parameter contexts

Replacing the variable registry, removed in NiFi 2.0, with parameter contexts and the ENVIRONMENT expression language scope: finding variable references in flows, sensitive values, inheritance and testing promoted flows.

Rebuilding custom NiFi processors and NARs for NiFi 2

What custom processor code must change for NiFi 2: Java 21, jakarta.servlet packages, Markdown additional details, removed variable registry scope, new custom UI paths and property descriptor rules, plus how to test the rebuilt NARs.

Apache NiFi 2 Java 21 requirement

Preparing hosts and container images for NiFi 2's Java 21 requirement: JDK choice, bootstrap.conf JVM arguments, IPv6 defaults, the Windows nifi.cmd change and checking third-party JDBC drivers and custom NARs.

Upgrading an Apache NiFi cluster

Running an upgrade across a NiFi cluster: why every node must be on the same version, preserving custom and modified NARs, draining queues, configuration file updates, the sensitive properties key and the order to restart nodes.

Replacing deprecated NiFi processors before an upgrade

Swapping out processors that NiFi 2 no longer ships, such as GetHTTP, PostHTTP, GetJMSQueue, HashContent, HashAttribute, Base64EncodeContent and EncryptContent, using the replacement mappings and sample flow definitions the project publishes.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.