Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

apache-nifi

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.

like image 594
Vijay Kumar Avatar asked Dec 08 '19 16:12

Vijay Kumar


2 Answers

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.

like image 125
Bryan Bende Avatar answered Sep 22 '22 02:09

Bryan Bende


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

like image 24
Sunil Muniyal Avatar answered Sep 20 '22 02:09

Sunil Muniyal