Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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

  1. You need a recent Java 7 (or newer) JDK.
  2. You need Apache Maven 3.X.
  3. Build the nifi nar maven plugin.
    • In the root dir of the source tree cd to nifi-nar-maven-plugin.
    • Run mvn clean install
  4. Build the main nifi code base.
    • In the root dir of the source tree cd to nifi
    • run mvn clean install

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:

  • No labels