Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

apache/nifi

Data

Apache NiFi is a dataflow platform for automating data routing, transformation and provenance-aware distribution.

6,298
2,999
Java
Apache-2.0
11 years old

What NiFi Does

Apache NiFi is a system for moving, transforming and monitoring data between sources and destinations. It is aimed at teams that need to integrate systems, build event-driven pipelines or distribute data with a visual interface rather than hand-written glue code. Pipelines run in a browser UI, are managed and versioned as flows, and can be clustered for higher throughput. The project also supports provenance tracking: searchable history, lineage graphs and metadata about each processing decision.

The repository is the main NiFi codebase and also contains NiFi Registry and MiNiFi components; each has its own documentation. NiFi is implemented in Java and exposes a REST API and a plugin interface for processors and controller services, with native Python processor support.

Getting Started

NiFi runs on Java 21; Python 3.10+ is only needed for optional scripting support (requirements). To build the binary distribution from source, use the Maven wrapper from the repository root:

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

On Windows, run mvnw.cmd instead of ./mvnw. The build produces nifi-assembly/target/nifi-*-bin.zip and an unpacked directory. Enter the unpacked distribution and start NiFi:

cd nifi-assembly/target/nifi-*-bin/nifi-*/
./bin/nifi.sh start

On Windows use nifi.cmd for system commands. Open https://localhost:8443/nifi. On first startup NiFi generates a random username and password and writes them to logs/nifi-app.log. Locate them with:

./bin/nifi.sh status
grep Generated logs/nifi-app*log

The log shows lines like Generated Username [USERNAME] and Generated Password [PASSWORD]. You can replace these credentials with:

./bin/nifi.sh set-single-user-credentials <username> <password>

Users who prefer a packaged download can get the official binary from the NiFi download page instead of building locally.

Usage Constraints

NiFi requires Java 21 for both running and development. The default local setup uses HTTPS on port 8443 with a self-signed certificate, so browsers will warn until you configure a certificate from a trusted authority for production. Startup credentials are random and stored in the application log; replace them for any shared or production deployment. Development on Windows requires the .cmd wrappers rather than the shell scripts. The source is licensed under Apache-2.0, and the distribution includes cryptographic software subject to export-control rules.

HotRepo's take

HotRepo's only recorded snapshot for this repository is a Java daily list entry dated 2026-11-05, when it ranked 15th with 6,293 stars and 2,998 forks and gained 2 stars that day. The long-running project has a large existing codebase and community footprint supported by project guides, a Maven-published API and Docker images, so its presence on that single day illustrates steady incremental interest rather than a surge. No broader trend can be inferred from one record.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

Nifi UI graph canvas
▲ 2 · 0 comments · October 28, 2016