Support Questions
Find answers, ask questions, and share your expertise

NiFi Error on HDP 2.1.4

Solved Go to solution

NiFi Error on HDP 2.1.4

Expert Contributor

I am encountering an issue and my NiFi cluster won't start. The error message is "Cluster is still in the process of voting on the appropriate Data Flow."; I have tried using the last flow.xml.gz file in the archive directory but it still gives the same error...

2018-03-29 13:03:48,739 INFO [NiFi Web Server-46] o.a.n.w.a.c.IllegalClusterStateExceptionMapper org.apache.nifi.cluster.manager.exception.IllegalClusterStateException: Cluster is still in the process of voting on the appropriate Data Flow.. Returning Conflict response.

1 ACCEPTED SOLUTION

Accepted Solutions

Re: NiFi Error on HDP 2.1.4

Master Guru
@Joshua Adeleke

-

Just want to add some details here for others who may be seeing same behavior.

-

There are two process that are part of a running NiFi. When you start NiFi, you are really starting the NiFi bootstrap process. (This is process that Ambari in HDF monitors). The bootstrap process is responsible for kicking off a second java process that runs the main application. This second process may take several minutes to completely start on every node in a NIFi cluster.

-

As each node starts it will reach a point where the cluster will be formed. Each Node will communicate with zookeeper looking to see if the cluster already has an elected flow, Cluster coordinator and primary node. If none exist an election begins. The election is held for 5 minutes (default) or until all nodes have connected (based on configured number of election candidates. HDF sets this for you in the nifi.properties file but otherwise it is blank.).

-

Once a flow, cluster coordinator, and primary node have been chosen, the election is over. The UI will now become available. At the same time, nodes will send heartbeats to the elected cluster coordinator to join the cluster. Once all nodes have joined the UI will reflect all nodes as connected.

-

***NOTE: Very large queue backlogs in your flow can extend the length of time it takes for a NiFi node to come up and join in to the cluster. Since NiFi must load parse all that FlowFile information form the FlowFile repository and load it back in to the designated queues in your dataflows.

-

Thanks,

Matt

View solution in original post

2 REPLIES 2

Re: NiFi Error on HDP 2.1.4

Expert Contributor

It took a while but it came up on its own eventually

Re: NiFi Error on HDP 2.1.4

Master Guru
@Joshua Adeleke

-

Just want to add some details here for others who may be seeing same behavior.

-

There are two process that are part of a running NiFi. When you start NiFi, you are really starting the NiFi bootstrap process. (This is process that Ambari in HDF monitors). The bootstrap process is responsible for kicking off a second java process that runs the main application. This second process may take several minutes to completely start on every node in a NIFi cluster.

-

As each node starts it will reach a point where the cluster will be formed. Each Node will communicate with zookeeper looking to see if the cluster already has an elected flow, Cluster coordinator and primary node. If none exist an election begins. The election is held for 5 minutes (default) or until all nodes have connected (based on configured number of election candidates. HDF sets this for you in the nifi.properties file but otherwise it is blank.).

-

Once a flow, cluster coordinator, and primary node have been chosen, the election is over. The UI will now become available. At the same time, nodes will send heartbeats to the elected cluster coordinator to join the cluster. Once all nodes have joined the UI will reflect all nodes as connected.

-

***NOTE: Very large queue backlogs in your flow can extend the length of time it takes for a NiFi node to come up and join in to the cluster. Since NiFi must load parse all that FlowFile information form the FlowFile repository and load it back in to the designated queues in your dataflows.

-

Thanks,

Matt

View solution in original post