Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

These instructions assume:

Important

  • You cannot have nodes with different NiFi versions in the same cluster.

  • Running multiple NiFi nodes on the same host machine is highly discouraged.

Release Notes & Migration Guidance

You Prior to upgrade you should review the Release Notes carefully to ensure that you understand the changes made and the impact they may have on your existing data flows and/or environment.

The instructions below are general steps to follow when upgrading from one 1.x.0 release to another.  Check the Migration Guidance page for specific items that you should be aware of when moving between NiFi versions.

Important:

  • You cannot have nodes with different NiFi versions in the same cluster.

  • Running multiple NiFi nodes on the same host machine is highly discouraged.

Before you begin

Before you begin, you can perform some tasks to improve the efficiency and success of your upgrade.

...

  
Configuration fileNecessary changes
authorizers.xmlCopy the <authorizer>...</authorizer> configured in the current NiFi to new the NiFi file.

If you are using the default “file-provider” authorizer, ensure that you copy the users.xml and authorizations.xml files from the current to the new NiFi.

Configuration best practices recommend creating a separate location outside of the NiFi base directory for storing such configuration files. If you are storing these files in a separate directory, you do not need to move them. Instead, ensure that the new NiFi is pointing to the same files. For example: /opt/nifi/configuration-resources/

bootstrap-notification-services.xml

Update the values based on values from the current NiFi file.

bootstrap.confUse the current NiFi bootstrap.conf file to update properties in new NiFi.
logback.xmlIf you added any custom logging modification to the current NiFi, make those same changes to the new NiFi.
login-identity-providers.xml

If you used a provider value in the current NiFi, copy the <provider>...</provider> configuration from the current NiFi to this file in new your NiFi.

nifi.properties






Use the current file to populate the same properties in the new NiFi nifi.properties file.

This file contains the majority of NiFi configuration settings, so ensure that you have copied the values correctly.

 

If you followed NiFi best practices, the following properties should be pointing to external directories outside of the base NiFi installation path.

If the below properties point to directories inside the NiFi base installation path, you must copy the target directories to the new NiFi. Stop your current NiFi installation before you do this.

nifi.flow.configuration.file=

If you have retained the default value, (./conf/flow.xml.gz), copy flow.xml.gz from the current to the new NiFi base install conf directory.

Alternately, you can copy to an external location and update the property value to point there.

nifi.flow.configuration.archive.dir=

Same applies as above if you want to retain archived copies of the flow.xml.gz.

 

nifi.database.directory=

Best practices recommends that you use an external location for each repository. Point the new NiFi at the same external database repository location.

 

nifi.flowfile.repository.directory=

Best practices recommends that you use an external location for each repository. Point the new NiFi at the same external database repository location.

Warning: You may experience data loss if flowfile repositories are not accessible to the new NiFi.

 

nifi.content.repository.directory.default=

Best practices recommends that you use an external location for each repository. Point the new NiFi at the same external database repository location.

Your current NiFi may have multiple content repos defined. Make sure the exact same property names are used and point to the appropriate matching content repo locations. For example:

nifi.content.repository.directory.content1=
nifi.content.repository.directory.content2=

Warning: You may experience data loss if content repositories are not accessible to new NiFi.

Warning: You may experience data loss may if property names are wrong or the property points to wrong content repository.

 

nifi.provenance.repository.directory.default=

Best practices recommends that you use an external location for each repository. Point new NiFi at same external database repository location.

Your current NiFi may have multiple content repos defined. Make sure exact same property names are used and point to appropriate matching content repo locations. For example:

nifi.provenance.repository.directory.provenance1=
nifi.provenance.repository.directory.provenance2=

Note: You may not be able to query old events if provenance repos are not moved correctly or properties are not updated correctly.

state-management.xml


For the “local-provider” value, verify the location of “state/local” directory.

If you have retained the default location (./state/local), copy the complete directory tree to the new NiFi. The current NiFi should be stopped if you are copying this directory because it may be constantly writing to this directory while running.

Configuration best practices recommend that you move the state to an external directory like/opt/nifi/configuration-resources/ to facilitate easier upgrading later.

 

For a NiFi cluster, the “cluster-provider” ZooKeeper “Connect String" should be using the same external ZooKeeper as the current NiFi installation.

 For a NiFi Cluster, make sure the “cluster-provider” ZooKeeper "Root Node" matches exactly the value you used in the current NiFi.
 If you are also setting up a new external ZooKeeper, see the ZooKeeper Migrator section of the NiFi System Administrator’s Guide for instructions on how to move ZooKeeper information from one cluster to another and migrating ZooKeeper node ownership.


NotesNote:

  • Do not copy configuration files from your old NiFi version to the new NiFi version. The newer configuration files may introduce new properties that would be lost if you copy and paste configuration files.
  •  Double check all configured properties for typos.
  • If you are encrypting sensitive component properties in your dataflow via the sensitive properties key in nifi.properties file, make sure the same key is used when copying over your flow.xml.gz.  If you need to change the key, use the flow migration procedure and the NiFi Encrypt-Config Tool to produce a new flow.xml.gz file from the existing one.

...

Note:  If original NiFi was setup to run as a service, update any symlinks or service scripts to point to the new NiFi version executables.