Versions Compared

Key

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

...

...

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.

...

   |--> 1.5.0-nifi

   |--> 1.6.0-nifi

 


Note:  Make sure that all file and directory ownerships for your new NiFi directories match what you set on the previous version.

3. On your existing NiFi installation:

...

4. Use the configuration files from your current NiFi installation (<installation-directory>/conf) to update the corresponding properties in your new NiFi deployment.

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.xmlUpdate 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.


Notes:

  • 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.

5. Configure/confirm that your new instances point to the appropriate FlowFile, Content and Provenance repositories via the directory settings in the nifi.properties file.

6. To maintain state in your processors, copy the old local state directories to your new NiFi directories.  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.7. Start each of your new NiFi instances.

87. Verify that:

  • All your data flows have returned to a running state. Some processors may have new properties that need to be configured, in which case they will be stopped and marked “invalid”.
  • All your expected controller services and reporting tasks are running again.  Address any controller services or reporting tasks that are marked "invalid".

98. After confirming your new NiFi instances are stable and working as expected, the old instances can be removed.

...