Hi,
I have finally taken the plunge to upgrade my cluster from 0.6.1 to 1.0.0.
6 nodes with a NCM.
With the removal of NCM in 1.0.0 I believe I now have an issue where none of my
Remote Process Groups work as they previously did because they were configured
to connect to the NCM (as the RPG url) which now doesn’t exist.
I have tried converting my NCM to a node but whilst I can get it running (sort
of) when I try and connect to the cluster I get something like this in my logs…
2016-10-19 13:14:44,109 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:879)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:493)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:746)
[nifi-jetty-1.0.0.jar:1.0.0]
at org.apache.nifi.NiFi.<init>(NiFi.java:152)
[nifi-runtime-1.0.0.jar:1.0.0]
at org.apache.nifi.NiFi.main(NiFi.java:243)
[nifi-runtime-1.0.0.jar:1.0.0]
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
at
org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:252)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1435)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:83)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:671)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:857)
~[nifi-framework-core-1.0.0.jar:1.0.0]
... 4 common frames omitted
2016-10-19 13:14:44,414 ERROR [main] o.a.n.c.c.node.NodeClusterCoordinator
Event Reported for ncm-cm1.mis-cds.local:9090 -- Node disconnected from cluster
due to org.apache.nifi.controller.UninheritableFlowException: Failed to connect
node to cluster because local flow is different than cluster flow.
2016-10-19 13:14:44,420 ERROR [Shutdown Cluster Coordinator]
org.apache.nifi.NiFi An Unknown Error Occurred in Thread Thread[Shutdown
Cluster Coordinator,5,main]: java.lang.NullPointerException
2016-10-19 13:14:44,423 ERROR [Shutdown Cluster Coordinator]
org.apache.nifi.NiFi
java.lang.NullPointerException: null
at
java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
~[na:1.8.0_51]
at
java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
~[na:1.8.0_51]
at
org.apache.nifi.cluster.coordination.node.NodeClusterCoordinator.updateNodeStatus(NodeClusterCoordinator.java:570)
~[nifi-framework-cluster-1.0.0.jar:1.0.0]
at
org.apache.nifi.cluster.coordination.node.NodeClusterCoordinator.shutdown(NodeClusterCoordinator.java:119)
~[nifi-framework-cluster-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService$1.run(StandardFlowService.java:330)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_51]
2016-10-19 13:14:44,448 WARN [main] o.a.n.c.l.e.CuratorLeaderElectionManager
Failed to close Leader Selector for Cluster Coordinator
java.lang.IllegalStateException: Already closed or has not been started
at
com.google.common.base.Preconditions.checkState(Preconditions.java:173)
~[guava-18.0.jar:na]
at
org.apache.curator.framework.recipes.leader.LeaderSelector.close(LeaderSelector.java:270)
~[curator-recipes-2.11.0.jar:na]
at
org.apache.nifi.controller.leader.election.CuratorLeaderElectionManager.stop(CuratorLeaderElectionManager.java:159)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.FlowController.shutdown(FlowController.java:1303)
[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.stop(StandardFlowService.java:339)
[nifi-framework-core-1.0.0.jar:1.0.0]
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:753)
[nifi-jetty-1.0.0.jar:1.0.0]
at org.apache.nifi.NiFi.<init>(NiFi.java:152)
[nifi-runtime-1.0.0.jar:1.0.0]
at org.apache.nifi.NiFi.main(NiFi.java:243)
[nifi-runtime-1.0.0.jar:1.0.0]
2016-10-19 13:14:45,062 WARN [Cluster Socket Listener]
org.apache.nifi.io.socket.SocketListener Failed to communicate with Unknown
Host due to java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
at java.net.PlainSocketImpl.socketAccept(Native Method) ~[na:1.8.0_51]
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
~[na:1.8.0_51]
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
~[na:1.8.0_51]
at
sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:348)
~[na:1.8.0_51]
at
org.apache.nifi.io.socket.SocketListener$2.run(SocketListener.java:112)
~[nifi-socket-utils-1.0.0.jar:1.0.0]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
2016-10-19 13:14:45,064 WARN [main] org.apache.nifi.web.server.JettyServer
Failed to start web server... shutting down.
java.lang.Exception: Unable to load flow due to: java.io.IOException:
org.apache.nifi.controller.UninheritableFlowException: Failed to connect node
to cluster because local flow is different than cluster flow.
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:755)
~[nifi-jetty-1.0.0.jar:1.0.0]
at org.apache.nifi.NiFi.<init>(NiFi.java:152)
[nifi-runtime-1.0.0.jar:1.0.0]
at org.apache.nifi.NiFi.main(NiFi.java:243)
[nifi-runtime-1.0.0.jar:1.0.0]
Caused by: java.io.IOException:
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.load(StandardFlowService.java:497)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:746)
~[nifi-jetty-1.0.0.jar:1.0.0]
... 2 common frames omitted
Caused by: 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:879)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:493)
~[nifi-framework-core-1.0.0.jar:1.0.0]
... 3 common frames omitted
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
at
org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:252)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1435)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:83)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:671)
~[nifi-framework-core-1.0.0.jar:1.0.0]
at
org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:857)
~[nifi-framework-core-1.0.0.jar:1.0.0]
... 4 common frames omitted
[root@ncm-cm1 logs]#
I don’t know if the ‘Proposed Authorizer is not inheritable…’ exception is part
of the problem too.
The docs weren’t very clear on whether (when upgrading and using the legacy
support of the authorized-user.xml path required the nodes to be also added to
the authorizers.xml.
I did add them in the end as various attempts to get the cluster up and running
without them failed (as each server didn’t seem to have rights to do anything.
I have a lot of RPG in my work flows as I am ingesting many syslog data sources
and this was the recommended pattern to distribute the data (listensyslog…run
on primary, output to port (RPG), pick up in rest of data flow),
Any suggestions on where to start trying to get this working?
I’ve tried creating a new RPG on one on the datanodes and connecting the syslog
to that which sort of worked but then I have a bunch of other errors when
trying to enable the ports to do with not being able to connect to (what was)
the NCM.
Thanks
Conrad
SecureData, combating cyber threats
______________________________________________________________________
The information contained in this message or any of its attachments may be
privileged and confidential and intended for the exclusive use of the intended
recipient. If you are not the intended recipient any disclosure, reproduction,
distribution or other dissemination or use of this communications is strictly
prohibited. The views expressed in this email are those of the individual and
not necessarily of SecureData Europe Ltd. Any prices quoted are only valid if
followed up by a formal written quote.
SecureData Europe Limited. Registered in England & Wales 04365896. Registered
Address: SecureData House, Hermitage Court, Hermitage Lane, Maidstone, Kent,
ME16 9NT