6,292
stars
+0+6+37
2,993
forks
190
watchers
11,238
prs
0
issues
3
releases
–
discussions

README

Apache NiFi



 Status










 Resources








 Contacts






 Community





 Features

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.

- Browser User Interface
  - Seamless experience for design, control, and monitoring
  - Runtime management and versioned pipelines
  - Secure by default with HTTPS
- Scalable Processing
  - Configurable prioritization for throughput and latency
  - Guaranteed delivery with retry and backoff strategies
  - Horizontal scaling with clustering
- Provenance Tracking 
  - Searchable history with configurable attributes
  - Graph data lineage from source to destination
  - Metadata and content for each processing decision
- Extensible Design
  - Plugin interface for Processors and Controller Services
  - Support for Processors in native Python
  - REST API for orchestration and monitoring
- Secure Configuration
  - Single sign-on with OpenID Connect or SAML 2
  - Flexible authorization policies for role-based access
  - Encrypted communication with TLS and SFTP

 Requirements

NiFi supports modern operating systems and requires recent language versions for developing and running the application.

 Platform Requirements

- Java 21

 Optional Dependencies

- Python 3.10 or higher

 Projects

The source repository includes several component projects.

Please review individual project documentation for additional details.

- Apache NiFi
- Apache NiFi Registry
- Apache NiFi MiNiFi

 Getting Started

Project guides provide extensive documentation for installing and extending the application.

- Getting Started
- User Guide
- Administrator Guide
- Developer Guide

 Developing

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.

 Building

Run the following command to build project modules using parallel execution:

shell
./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:

shell
./mvnw install -T1C -P contrib-check


Run the following command to build the application binaries without building other optional modules:

shell
./mvnw install -T1C -am -pl :nifi-assembly


 Binaries

The nifi-assembly module contains the binary distribution.

shell
ls nifi-assembly/target/nifi--bin.zip


The nifi-assembly module includes the binary distribution in a directory for local development and testing.

shell
cd nifi-assembly/target/nifi--bin/nifi-/


 Running

NiFi provides shell scripts for starting and stopping the system.

Running on Microsoft Windows requires using nifi

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON