
Automated data flow platform for processing and distributing data with built-in provenance tracking, secure configuration, and scalable pipeline management for cybersecurity and observability use cases.
Apache NiFi is an easy to use, powerful, and reliable system to process and distribute data.
NiFi automates cybersecurity, observability, event streams, and generative AI data pipelines and distribution for thousands of companies worldwide across every industry.
NiFi supports modern operating systems and requires recent language versions for developing and running the application.
The source repository includes several component projects.
Please review individual project documentation for additional details.
Project guides provide extensive documentation for installing and extending the application.
NiFi uses the Maven Wrapper for project development. The Maven Wrapper provides shell scripts that download and cache a selected version of Apache Maven for running build commands.
Developing on Microsoft Windows requires using mvnw.cmd instead of mvnw to run Maven commands.
Run the following command to build project modules using parallel execution:
./mvnw install -T1C
Run the following command to build project modules using parallel execution with static analysis to confirm compliance with code and licensing requirements:
./mvnw install -T1C -P contrib-check
Run the following command to build the application binaries without building other optional modules:
./mvnw install -T1C -am -pl :nifi-assembly
The nifi-assembly module contains the binary distribution.
ls nifi-assembly/target/nifi-*-bin.zip
The nifi-assembly module includes the binary distribution in a directory for local development and testing.
cd nifi-assembly/target/nifi-*-bin/nifi-*/
NiFi provides shell scripts for starting and stopping the system.
Running on Microsoft Windows requires using nifi.cmd instead of nifi.sh for system commands.
Run the following command to start NiFi from the distribution directory:
./bin/nifi.sh start