How to Administer Apache NiFi and Create Flows in Apache NiFi

Last updated on May 30 2022
Swati Dogra

Table of Contents

How to Administer Apache NiFi and Create Flows in Apache NiFi

Apache NiFi – Administration

Apache NiFi offers support to multiple tools like ambari, zookeeper for administration purposes. NiFi also provides configuration in nifi.properties file to set up HTTPS and other things for administrators.

zookeeper

NiFi itself doesn’t handle voting process in cluster. This means when a cluster is created, all the nodes are primary and coordinator. So, zookeeper is configured to manage the voting of primary node and coordinator. The nifi.properties file contains some properties to setup zookeeper.

S.No Property name Default Value Description
1 nifi.state.management.embedded.zookeeper. properties ./conf/zookeeper.properties To specify the path and name of zookeeper property file.
2 nifi.zookeeper.connect.string empty To specify the connection string of zookeeper.
3 nifi.zookeeper.connect.timeout 3 secs To specify the connection timeout of zookeeper with NiFi.
4 nifi.zookeeper.session.timeout 3 secs To specify the session timeout of zookeeper with NiFi.
5 nifi.zookeeper.root.node /nifi To specify root node for zookeeper.
6 nifi.zookeeper.auth.type empty To specify authentication type for zookeeper.

Enable HTTPS

To use NiFi over HTTPS, administrators have to generate keystore and truststore and set some properties within the nifi.properties file. The TLS toolkit can be used to generate all the necessary keys to enable HTTPS in apache NiFi.

S.No. Property name Default Value Description
1 nifi.web.https.port empty To specify https port number.
2 nifi.web.https.network.interface.default empty Default interface for https in NiFi.
3 nifi.security.keystore empty To specify the path and file name of keystore.
4 nifi.security.keystoreType empty To specify the type of keystore type like JKS.
5 nifi.security.keystorePasswd empty To specify keystore password.
6 nifi.security.truststore empty To specify the path and file name of truststore.
7 nifi.security.truststoreType empty To specify the type of truststore type like JKS.
8 nifi.security.truststorePasswd empty To specify truststore password.

Other properties for administration

There are some other properties, which are used by administrators to manage the NiFi and for its service continuity.

 

S.No. Property name Default Value Description
1 nifi.flowcontroller.graceful.shutdown.period 10 sec To specify the time to gracefully shutdown the NiFi flowcontroller.
2 nifi.administrative.yield.duration 30 sec To specify the administrative yield duration for NiFi.
3 nifi.authorizer.configuration.file ./conf/authorizers.xml To specify the path and file name of authorizer configuration file.
4 nifi.login.identity.provider.configuration.file ./conf/login-identity-providers.xml To specify the path and file name of login identity provider configuration file.

 

 

Apache NiFi – Creating Flows

Apache NiFi offers a large number of components to help developers to create data flows for any type of protocols or data sources. To create a flow, a developer drags the components from menu bar to canvas and connects them by clicking and dragging the mouse from one component to other.

5.1 1

Generally, a NiFi has a listener component at the starting of the flow like getfile, which gets the data from source system. On the other end of there is a transmitter component like putfile and there are components in between, which process the data.

For example, let create a flow, which takes an empty file from one directory and add some text in that file and put it in another directory.

  • To begin with, drag the processor icon to the NiFi canvas and choose GetFile processor from the list.
  • Create an input directory like c:\inputdir.
  • Right-click on the processor and choose configure and in properties tab add Input Directory (c:\inputdir) and click apply and go back to canvas.
  • Drag the processor icon to the canvas and choose the ReplaceText processor from the list.
  • Right-click on the processor and choose configure. Within the properties tab, add some text like “Hello tecklearn.com” within the textbox of Replacement Value and click apply.
  • Go to settings tab, check the failure checkbox at right hand side, and then go back to the canvas.
  • Connect GetFIle processor to ReplaceText on success relationship.
  • Drag the processor icon to the canvas and choose the PutFile processor from the list.
  • Create an output directory like c:\outputdir.
  • Right-click on the processor and choose configure. Within the properties tab, add Directory (c:\outputdir) and click apply and go back to canvas.
  • Go to settings tab and check the failure and success checkbox at right hand side and then go back to the canvas.
  • Connect the ReplaceText processor to PutFile on success relationship.
  • Now start the flow and add an empty file in input directory and you will see that, it will move to output directory and the text will be added to the file.

By following the above steps, developers can choose any processor and other NiFi component to create suitable flow for their organisation or client.

So, this brings us to the end of Deep Dive into Apache NiFi User Interface blog. This Tecklearn ‘How to Administer Apache NiFi and Create Flows in Apache NiFi’ helps you with commonly asked questions if you are looking out for a job in Apache NiFi and Big Data Domain.

If you wish to learn Apache NiFi and build a career in Apache NiFi or Big Data domain, then check out our interactive, Apace NiFi Training, that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/apache-nifi-training/

Apache NiFi Training

About the Course

Tecklearn Apache NiFi Training makes you an expert in Cluster integration and the challenges associated, Usefulness of Automation, Apache NiFi configuration challenges and etc. Apache NiFi that helps you master various aspects of automating dataflow, managing flow of information between systems, streaming analytics, the concepts of data lake and constructs, various methods of data ingestion and real-world Apache NiFi projects .Transforming the databases is becoming a challenge for many organizations and thus they often look for those who have certification in Apache NiFi to help them in automating the flow of data between the systems.

Why Should you take Apache NiFi Training?

  • The Average Salary for Apache NiFi Developers is $96,578 per year. – paysa.com
  • Micron, Macquarie Telecom Group , Dovestech, Payoff, Flexilogix , Hashmap Inc. & many other MNC’s worldwide use Ansible across industries.
  • Apache NiFi is an open source software for automating and managing the flow of data between systems. It is a powerful and reliable system to process and distribute data. It provides a web-based User Interface for creating, monitoring, & controlling data flows.

What you will Learn in this Course?

Overview of Apache NiFi and its capabilities

  • Understanding the Apache NiFi
  • Apache NiFi most interesting features and capabilities

High Level Overview of Key Apache NiFi Features

  • Key features categories: Flow management, Ease of use, Security, Extensible architecture and Flexible scaling model

Advantages of Apache NiFi over other traditional ETL tools

  • Features of NiFi which make it different form traditional ETL tool and gives NiFi an edge over them

Apache NiFi as a Data Ingestion Tool

  • Introduction to Apache NiFi for data ingestion
  • Apache NiFi Processor : Data ingestion tools available for transferring , importing , loading and processing of data

Data Lake Concepts and Constructs (Big Data & Hadoop Environment)

  • Concept of data lake and its attributes
  • Support for colocation of data in various formats and overcoming the problem of data silos

Apache NiFi capabilities in Big Data and Hadoop Environment

  • Introduction to NiFi processors which sync with data lake and Hadoop ecosystem
  • An overview of the various components of the Hadoop ecosystem and data lake

Installation Requirements and Cluster Integration

  • Apache NiFi installation requirements and cluster integration
  • Successfully running Apache NiFi and addition of processor to NiFi
  • Working with attributes and Process of scaling up and down
  • Hands On

Apache NiFi Core Concepts

  • Apache NiFi fundamental concepts
  • Overview of FlowFile, Flow Controller ,FlowFile Processor, and their attributes
  • Functions in dataflow

Architecture of Apache NiFi

  • Architecture of Apache NiFi
  • Various components including FlowFile Repository, Content Repository, Provenance Repository and web-based user interface
  • Hands On

Performance Expectation and Characteristics of NiFi

  • How to utilize maximization of resources is particularly strong with respect to CPU and disk
  • Understand the best practices and configuration tips

Queuing and Buffering Data

  • Buffering of Data in Apache NiFi
  • Concept of queuing, recovery and latency
  • Working with controller services and directed graphs
  • Data transformation and routing
  • Processor connection, addition and configuration
  • Hands On

Database Connection with Apache NiFi

  • Apache NiFi Connection with database
  • Data Splitting, Transforming and Aggregation
  • Monitoring of NiFi and process of data egress
  • Reporting and Data lineage
  • Expression language and Administration of Apache NiFi
  • Hands On

Apache NiFi Configuration Best Practices

  • Apache NiFi configuration Best Practices
  • ZooKeeper access, properties, custom properties and encryption
  • Guidelines for developers
  • Security of Data in Hadoop and NiFi Kerberos interface
  • Hands On

Apache NiFi Project

  • Apache NiFi Installation
  • Configuration and Deployment of toolbar
  • Building a dataflow using NiFi
  • Creating, importing and exporting various templates to construct a dataflow
  • Deploying Real-time ingestion and Batch ingestion in NiFi
  • Hands On

Got a question for us? Please mention it in the comments section and we will get back to you.

 

0 responses on "How to Administer Apache NiFi and Create Flows in Apache NiFi"

Leave a Message

Your email address will not be published. Required fields are marked *