Upgrade
Also available as:
PDF

Optimizing your NiFi Directory Structure for Upgrade

When you install NiFi and perform the minimum configuration requirements by editing the nifi.properties file, your installation directory contains several files and directories. Assuming you have installed into an opt/ directory, the NiFi installation directory structure is similar to:

/
-->  opt/
  -->  nifi-current_version
      |--> LICENSE
      |--> NOTICE
      |--> README
      |--> bin/
      |--> conf/
      |--> docs/
      |--> lib/
      |--> work/
      |--> content_repository/
      |--> flowfile_repository/
      |--> logs/
      |--> provenance_repository/

To optmize the NiFi directory structure for upgrade:

  1. Move the following directories out of the NiFi installation directory:

    • Database repository

    • All content repositories

    • Flowfile repository

    • NiFi log repository

    • All provenance repositories

    See the Hortonworks DataFlow Administration for information on options for creating these repositories to optimize performance and stability.

  2. Move static items that do not change from version to version out of the conf directory. These items include:

    • flow.xml.gz

    • authorized-users.xml

    • The templates directory

[Note]Note

NiFi 1.0.0 no longer contains authorized-users.xml. Instead, it contains authorizations.xml and users.xml. During upgrade, preserve authorized-users.xml so that NiFi 1.0.0 can use it to populate the values of the authorizations.xml and users.xml files.

A good directory structure that supports easy upgrading looks similar to:

/
|--> opt/
|    |--> nifi-current_version
|    |    |--> LICENSE
|    |    |--> NOTICE
|    |    |--> README
|    |    |--> bin/
|    |    |--> conf/
|    |    |--> docs/
|    |    |--> lib/
|    |    |--> work/
|    |    
|    |--> Configuration_resources/
|    |    |--> authorized-users.xml
|    |    |--> flow.xml.gz
|    |    |--> templates/
|    |    |--> custom_lib/
|
|--> database_repository/
|--> content_repository_1/
|--> content_repository_N
|--> flowfile_repository/
|--> NiFi-logs/
|--> provenance_repository_1/
|--> provenance_repository_N/
[Important]Important

Upgrading from NiFi 0.x to 1.x converts your database, content, flowfile, log, and provenance repositories automatically. Once upgraded, you can not revert the repositories back to 0.x format.