Vijay Kumar
Vijay Kumar

Reputation: 2707

NiFi: Failed to connect node to cluster because local flow is different than cluster flow

After rebooting the server, NiFi does not start. Before the server reboot, I was able to shutdown/start NiFi without any issues.

I ensured that the 3 config files (flow.xml.gz, authorizations.xml, and users.xml) are identical on all the nodes.

2019-12-08 14:36:10,085 ERROR [main] o.a.nifi.controller.StandardFlowService Failed to load flow from cluster due to: org.apache.nifi.controller.UninheritableFlowException: Failed to connect node to cluster because local flow is different than cluster flow.
org.apache.nifi.controller.UninheritableFlowException: Failed to connect node to cluster because local flow is different than cluster flow.
    at org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:1026)
    at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:539)
    at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1009)
    at org.apache.nifi.NiFi.<init>(NiFi.java:158)
    at org.apache.nifi.NiFi.<init>(NiFi.java:72)
    at org.apache.nifi.NiFi.main(NiFi.java:297)
Caused by: org.apache.nifi.controller.UninheritableFlowException: Proposed Authorizer is not inheritable by the flow controller because of Authorizer differences: Proposed Authorizations do not match current Authorizations: Proposed fingerprint is not inheritable because the current access policies is not empty.

Also, ruled out any zookeeper corruption issue by deleting the znode for NiFi in the zookeeper cluster.

I am on NiFi 1.9.1

Any help is highly appreciated.

Upvotes: 6

Views: 9772

Answers (3)

Nilesh Kumar
Nilesh Kumar

Reputation: 199

It can also happen because of version difference of NIFI. If you were running an older version and is trying to upgrade your cluster to newer version, this will give you an error syncing the flow definition. We cannot have a cluster having two different version of nifi running. In that case, stop all the older nodes of nifi having older nifi version and restart the deployment onto the newer nifi version. NOTE : If you stop all the current running node you will lose the flow definition, so make sure they are backed-up appropriately.

Upvotes: 0

Sunil Muniyal
Sunil Muniyal

Reputation: 51

A suggestion, if there is case we can't copy flow.xml.gz (like it was with me) for various process restrictions. We can stop Nifi service on problematic node, rename existing flow.xml.gz to a backup (just to be sure we don't loose it) and restart Nifi service.

Nifi would automatically generate a flow.xml.gz and connect the node to the cluster. It worked for me, hence, sharing.

Thanks

Upvotes: 5

Bryan Bende
Bryan Bende

Reputation: 18630

This means there is a difference in authorizations.xml or users.xml, most likely authorizations.xml. I would try copying those two files from one of the other nodes over to the node that is having the problem, this will ensure they are exactly the same.

Upvotes: 5

Related Questions