Apache NiFi
dev@nifi.apache.org">
users@nifi.apache.org">
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
The default configuration generates a random username and password on startup. NiFi writes the generated credentials
to the application log located in logs/nifi-app.log
under the NiFi installation directory.
The following command can be used to find the generated credentials on operating systems with grep
installed:
grep Generated logs/nifi-app*log
NiFi logs the generated credentials as follows:
Generated Username [USERNAME]
Generated Password [PASSWORD]
The USERNAME
will be a random UUID composed of 36 characters. The PASSWORD
will be a random string.
The username and password can be replaced with custom credentials using the following command:
./bin/nifi.sh set-single-user-credentials <username> <password>
NiFi defaults to running on the localhost
address with HTTPS on port 8443
at the following URL:
https://localhost:8443/nifi
Browsers will display a warning message indicating a potential security risk due to the self-signed certificate
generated during initialization. Production deployments should provision a certificate from a trusted certificate
authority and update the NiFi keystore and truststore configuration.
Except as otherwise noted this software is licensed under the
Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This distribution includes cryptographic software. The country in which you
currently reside may have restrictions on the import, possession, use, and/or
re-export to another country, of encryption software. BEFORE using any
encryption software, please check your country’s laws, regulations and
policies concerning the import, possession, or use, and re-export of encryption
software, to see if this is permitted. See https://www.wassenaar.org for more
information.
The U.S. Government Department of Commerce, Bureau of Industry and Security
(BIS), has classified this software as Export Commodity Control Number (ECCN)
5D002.C.1, which includes information security software using or performing
cryptographic functions with asymmetric algorithms. The form and manner of this
Apache Software Foundation distribution makes it eligible for export under the
License Exception ENC Technology Software Unrestricted (TSU) exception (see the
BIS Export Administration Regulations, Section 740.13) for both object code and
source code.
The following provides more details on the included cryptographic software:
Apache NiFi uses the following libraries and frameworks for encrypted
communication and storage of sensitive information: