Apache NiFi - Custom Controllers Service


Apache NiFi is an open source platform and gives developers the options to add their custom controllers service in Apache NiFi. The steps and tools are almost the same as used to create a custom processor.

  • Open command prompt and execute Maven Archetype command.

> mvn archetype:generate
  • Search for the nifi type in the archetype projects.

  • Select org.apache.nifi:nifi-service-bundle-archetype project.

  • Then from the list of versions, select the latest version – 1.7.1 for this tutorial.

  • Enter the groupId, artifactId, version, package, and artifactBaseName, etc.

  • A maven project will be created having directories.

    • nifi-<artifactBaseName>

    • nifi-<artifactBaseName>-nar

    • nifi-<artifactBaseName>-api

    • nifi-<artifactBaseName>-api-nar

  • Run the below command in nifi-<artifactBaseName> and nifi-<artifactBaseName>-api directories to add these two projects in the eclipse.

    • mvn install eclipse:eclipse

  • Open eclipse and select import from the file menu.

  • Then select “Existing Projects into workspace” and add the project from nifi-<artifactBaseName> and nifi-<artifactBaseName>-api directories in eclipse.

  • Add your code in the source files.

  • Then package the code to a NAR file by running the below mentioned command.

    • mvn clean install

  • Two NAR files will be created in each nifi-<artifactBaseName>/target and nifi-<artifactBaseName>-api/target directory.

  • Copy these NAR files to the lib folder of Apache NiFi and restart the NiFi.

  • After successful restart of NiFi, check the processor list for the new custom processor.

  • For any errors, check ./logs/nifi.log file.

Useful Video Courses


Apache Spark Online Training

46 Lectures 3.5 hours

Arnab Chakraborty


Apache Spark with Scala - Hands On with Big Data

23 Lectures 1.5 hours

Mukund Kumar Mishra


Learn Apache Cordova using Visual Studio 2015 & Command line

16 Lectures 1 hours

Nilay Mehta


Delta Lake with Apache Spark using Scala

52 Lectures 1.5 hours

Bigdata Engineer


Apache Zeppelin - Big Data Visualization Tool

14 Lectures 1 hours

Bigdata Engineer


Olympic Games Analytics Project in Apache Spark for Beginner

23 Lectures 1 hours

Bigdata Engineer