Introduction
Apache NiFi (Incubating) is a dataflow system based on the concepts of flow-based programming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic. NiFi has a web-based user interface for design, control, feedback, and monitoring of dataflows. It is highly configurable along several dimensions of quality of service, such as loss-tolerant versus guaranteed delivery, low latency versus high throughput, and priority-based queuing. NiFi provides fine-grained data provenance for all data received, forked, joined cloned, modified, sent, and ultimately dropped upon reaching its configured end-state.
Download and Build Code
Checking out from Git
To check out the code:
git clone http://git-wip-us.apache.org/repos/asf/incubator-nifi.git
Then checkout the 'develop' branch
git checkout develop
Build steps
- You need a recent Java 7 (or newer) JDK.
- You need Apache Maven 3.X.
- Build the nifi nar maven plugin.
- In the root dir of the source tree cd to
nifi-nar-maven-plugin
. - Run
mvn clean install
- In the root dir of the source tree cd to
- Build the main nifi code base.
- In the root dir of the source tree cd to
nifi
- run
mvn clean install
- In the root dir of the source tree cd to
Running the application
Running the above build will create a tar.gz (and zip) file in nifi/nifi-assembly/target
. This tar.gz should contain the full application. Decompressing the tar.gz should make a directory for you containing several other directories. conf
contains application configuration, bin
contains scripts for launching the application. On linux and OSX, NiFi can be run using bin/nifi.sh <command>
where <command>
is one of:
- start: starts NiFi in the background
- stop: stops NiFi that is running in the background
- status: provides the current status of NiFi
- run: runs NiFi in the foreground and waits to receive a Ctrl-C, which then shuts down NiFi.
- install: (available in Linux only, not OSX): installs NiFi as a service that can then be controlled via
service nifi start
,service nifi stop
,service nifi status
.
For Windows users, there exist several scripts in the bin
directory that are analogous to those above: start-nifi.bat
, stop-nifi.bat
, nifi-status.bat
, and run-nifi.bat
.
The configuration that is to be used when launching NiFi, such as Java heap size, the user to run as, which Java command to use, etc. are configurable via the conf/bootstrap.conf
file.
The entire concept of how the application will integrate to a given OS and run as an enduring service is something we're working hard on and would appreciate ideas for. The user experience needs to be excellent.
With the default settings you can point a web browser at http://localhost:8080/nifi/
Logging is configured by default to log to ./logs/nifi-app.log
. The following log message should indicate the web ui is ready for use:
0 Comments