Ich befolge die unter https://community.hortonworks.com/articles/90355/collect-data-from-opc-ua-protocol.html beschriebenen Schritte, um eine Verbindung zu einem OPC UA Server von NiFi herzustellen.Wert vom OPCUA Server in Nifi sammeln
Ich baute https://github.com/wadesalazar/NIFI-OPCUA aus dem Quellcode mit Maven. Das Ergebnis waren mehrere Nar-Dateien und JAR-Dateien. Das Gefäß und nar für mich erhalten sind:
opcua-Stack-1.03.341.0-SNAPSHOT.jar
nifi-opcua-Bündel-Prozessoren-0.0.1-SNAPSHOT.jar
nifi -opcua-Service-0.0.1-SNAPSHOT.jar
nifi-opcua-Service-api-0.0.1-SNAPSHOT.jar
opc-deploy-local-0.0.1-SNAPSHOT.jar
nifi-opcua-service-api-nar-0.0 0,1-SNAPSHOT.nar
nifi-opcua-Service-nar-0.0.1-SNAPSHOT.nar
nifi-opcua-Bündel-nar-0.0.1-SNAPSHOT.nar
Wenn i füge alle nar- und jar-dateien in den lib-ordner von nifi ein, die nifi stürzt beim starten ab. Der Fehler ist:
org.apache.nifi.processor.Processor: Provider com.kentender.nifi.nifi_opcua_bundle.GetNodeIds could not be instantiated
java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: Provider com.kentender.nifi.nifi_opcua_bundle.GetNodeIds could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.apache.nifi.nar.ExtensionManager.loadExtensions(ExtensionManager.java:138)
at org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:104)
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:699)
at org.apache.nifi.NiFi.<init>(NiFi.java:160)
at org.apache.nifi.NiFi.main(NiFi.java:267)
Caused by: java.lang.NoClassDefFoundError: org/apache/nifi/processor/util/StandardValidators
at com.kentender.nifi.nifi_opcua_bundle.GetNodeIds.<clinit>(GetNodeIds.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
... 7 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.nifi.processor.util.StandardValidators
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 14 common frames omitted
2017-07-27 18:24:14,184 INFO [Thread-1] org.apache.nifi.NiFi Initiating shutdown of Jetty web server...
2017-07-27 18:24:14,184 INFO [Thread-1] org.apache.nifi.NiFi Jetty web server shutdown completed (nicely or otherwise).
Wenn ich nur nar Dateien einfügen, die Nifi bootet und ich bin in der Lage, den individuellen GetNodeIds Prozessor, um zu sehen, aber ich bin nicht in der Lage, die Daten von OPCUA Server zu empfangen. Der Service wirft einen Fehler wie
java.lang.noclassdeffounderror: org/bouncycastle/crypto/DataLengthException
Welche nar und Glas zu Ordner lib Nifi kopiert werden soll, um es funktioniert und wie ist der Prozess korrekt ablaufen.
Danke für die Antwort! @daggett –