Support Questions

Find answers, ask questions, and share your expertise

Adding a Node to a cluster

avatar
Contributor

I am attempting to add a node to my cluster.  My steps are:

  1. Unzip a fresh copy of the binary install
  2. Copy production authorizer.xml and flow.tar.gz to the new conf directory
  3. Update my nifi.properties for the new node this is similar to the a production node with the exception of references to the server itself.

When I bring up the new node I see it in 'Connecting' state in cluster manager but it never completes.

I receive the following error:

2021-02-01 18:52:13,164 ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi due to java.lang.NoClassDefFoundError: org/apache/nifi/security/xml/XmlUtils
java.lang.NoClassDefFoundError: org/apache/nifi/security/xml/XmlUtils
at org.apache.nifi.authorization.AbstractPolicyBasedAuthorizer.parsePoliciesUsersAndGroups(AbstractPolicyBasedAuthorizer.java:416)
at org.apache.nifi.authorization.AbstractPolicyBasedAuthorizer.checkInheritability(AbstractPolicyBasedAuthorizer.java:348)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.nifi.authorization.AuthorizerInvocationHandler.invoke(AuthorizerInvocationHandler.java:55)
at com.sun.proxy.$Proxy82.checkInheritability(Unknown Source)
at org.apache.nifi.authorization.AuthorizerFactory$1.checkInheritability(AuthorizerFactory.java:138)
at org.apache.nifi.controller.inheritance.AuthorizerCheck.checkInheritability(AuthorizerCheck.java:61)
at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:243)
at org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1426)
at org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:89)
at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:792)
at org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:985)
at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:519)
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1128)
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:301)
Caused by: java.lang.ClassNotFoundException: org.apache.nifi.security.xml.XmlUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 20 common frames omitted

I'm unsure where to start as this method has been successful to add a previous additional node.  Any insights would be appreciated.

 

1 ACCEPTED SOLUTION

avatar
Contributor

In this case per the admin guide you have to also copy the users.xml and authorizations.xml to the new node.  For some reason these were not being created accurately on instantiation.

View solution in original post

1 REPLY 1

avatar
Contributor

In this case per the admin guide you have to also copy the users.xml and authorizations.xml to the new node.  For some reason these were not being created accurately on instantiation.