Update the Configuration Files for Your New NiFi Installation

Use the configuration files from your existing NiFi installation to manually update the corresponding properties in your new NiFi deployment.

Use the following table to guide the update of configuration files located in <installation-directory>/conf.

Configuration file Necessary changes

authorizers.xml

Copy the <authorizer>…​</authorizer> configured in the existing authorizers.xml to the new NiFi file.

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

Configuration best practices recommend creating a separate location outside of the NiFi base directory for storing such configuration files, for example: /opt/nifi/configuration-resources/. 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.

bootstrap-notification-services.xml

Use the existing NiFi bootstrap-notification-services.xml file to update properties in the new NiFi.

bootstrap.conf

Use the existing NiFi bootstrap.conf file to update properties in the new NiFi.

flow.xml.gz

If you retained the default location for storing flows (<installation-directory>/conf/), copy flow.xml.gz from the existing to the new NiFi base install conf directory. If you stored flows to an external location via nifi.properties, update the property nifi.flow.configuration.file to point there.

If you are encrypting sensitive component properties in your dataflow via the sensitive properties key in nifi.properties, make sure the same key is used when copying over your flow.xml.gz. If you need to change the key, see the Migrating a Flow with Sensitive Properties section below.

nifi.properties

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

Note: 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 existing 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 existing to the new NiFi base install conf directory.

If you stored flows to an external location, 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 flowfile repository location.

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

nifi.provenance.repository.directory.default=

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

Your existing NiFi may have multiple content repos defined. Make sure the exact same property names are used and point to the appropriate matching provenance 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 state provider, verify the location of the local directory.

If you have retained the default location (./state/local), copy the complete directory tree to the new NiFi. The existing 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" property should be set to the same external ZooKeeper as the existing NiFi installation.

For a NiFi cluster, make sure the cluster-provider ZooKeeper "Root Node" property matches exactly the value used in the existing NiFi.

If you are also setting up a new external ZooKeeper, see the ZooKeeper Migrator section for instructions on how to move ZooKeeper information from one cluster to another and migrate ZooKeeper node ownership.