Apache NiFi is highly configurable platform. The nifi.properties file in conf directory

contains most of the configuration.

The commonly used properties of Apache NiFi are as follows −

Core properties

This section contains the properties, which are compulsory to run a NiFi instance.

S.No. Property name Default Value description
1 nifi.flow.configuration.file ./conf/flow.xml.gz This property contains the path to flow.xml file. This file contains all the data flows created in NiFi.
2 nifi.flow.configuration.archive.enabled true This property is used to enable or disable archiving in NiFi.
3 nifi.flow.configuration.archive.dir ./conf/archive/ This property is used to specify the archive directory.
4 nifi.flow.configuration.archive.max.time 30 days This is used to specify the retention time for archiving content.
5 nifi.flow.configuration.archive.max.storage 500 MB it contains the maximum size of archiving directory can grow.
6 nifi.authorizer.configuration.file ./conf/authorizers.xml To specify the authorizer configuration file, which is used for user authorization.
7 nifi.login.identity.provider.configuration.file ./conf/login-identity-providers.xml This property contains the configuration of login identity providers,
8 nifi.templates.directory ./conf/templates This property is used to specify the directory, where NiFi templates will be stored.
9 nifi.nar.library.directory ./lib This property contains the path to library, which NiFi will use to load all the components using NAR files present in this lib folder.
10 nifi.nar.working.directory ./work/nar/ This directory will be storing the unpacked nar files, once NiFi processes them.
11 nifi.documentation.working.directory ./work/docs/components This directory contains the documentation of all components.

State Management

These properties are used to store the state of the components helpful to start the processing, where components left after a restart and in the next schedule running.

S.No. Property name Default Value description
1 nifi.state.management.configuration.file ./conf/state-management.xml This property contains the path to state-management.xml file. This file contains all component state present in the data flows of that NiFi instance.
2 nifi.state.management.provider.local local-provider It contains the ID of the local state provider.
3 nifi.state.management.provider.cluster zk-provider This property contains the ID of the cluster-wide state provider. This will be ignored if NiFi is not clustered but must be populated if running in a cluster.
4 nifi.state.management. embedded. zookeeper. start false This property specifies whether or not this instance of NiFi should run an embedded ZooKeeper server.
5 nifi.state.management. embedded. zookeeper.properties ./conf/zookeeper.properties This property contains the path of the properties file that provides the ZooKeeper properties to use if <nifi.state.management. embedded. zookeeper. start> is set to true.

FlowFile Repository

Let us now look into the important details of the FlowFile repository −

S.No. Property name Default Value description
1 nifi.flowfile.repository. implementation org.apache.nifi. controller. repository. WriteAhead FlowFileRepository This property is used to specify either to store the flowfiles in memory or disk. If a user want to stores the flowfiles in memory then change to “org.apache.nifi.controller. repository.VolatileFlowFileRepository”.
2 nifi.flowfile.repository.directory ./flowfile_repository To specify the directory for flowfile repository.