Ich benutze Hortonworks HDF 1.2.0.1 Sandbox und ich versuche, die PutHiveQL Prozessor hinzufügen, die in der 1.0 Nifi Release enthalten sein wird. Bisher habe ich das .nar-Archiv erstellt, aber nifi startet nicht mehr, wenn es in das Verzeichnis/lib importiert wird. Ich erhalte eine java.lang.UnsupportedClassVersionError
im nifi-app.log
:Apache Nifi startet nicht nach dem Hinzufügen von benutzerdefinierten Prozessor
2016-07-15 13:22:37,158 ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi
due to java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor:
Provider nifi.test.processors.PutHiveQL could not be
instantiated java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: Provider nifi.test.processors.PutHiveQL could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:224) ~[na:1.7.0_95]
at java.util.ServiceLoader.access$100(ServiceLoader.java:181) ~[na:1.7.0_95]
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377) ~[na:1.7.0_95]
at java.util.ServiceLoader$1.next(ServiceLoader.java:445) ~[na:1.7.0_95]
at org.apache.nifi.nar.ExtensionManager.loadExtensions(ExtensionManager.java:107) ~[nifi-nar-utils-0.6.0.1.2.0.1-1.jar:0.6.0.1.2.0.1-1]
at org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:88) ~[nifi-nar-utils-0.6.0.1.2.0.1-1.jar:0.6.0.1.2.0.1-1]
at org.apache.nifi.NiFi.<init>(NiFi.java:120) ~[nifi-runtime-0.6.0.1.2.0.1-1.jar:0.6.0.1.2.0.1-1]
at org.apache.nifi.NiFi.main(NiFi.java:227) ~[nifi-runtime-0.6.0.1.2.0.1-1.jar:0.6.0.1.2.0.1-1]
Caused by: java.lang.UnsupportedClassVersionError: org/apache/nifi/processor/util/StandardValidators : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_95]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_95]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_95]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_95]
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_95]
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_95]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_95]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_95]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_95]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_95]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_95]
at nifi.test.processors.PutHiveQL.<clinit>(PutHiveQL.java:73) ~[nifi-hiveQLProcessor-1.0-SNAPSHOT.nar-unpacked/:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_95]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_95]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_95]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_95]
at java.lang.Class.newInstance(Class.java:383) ~[na:1.7.0_95]
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373) ~[na:1.7.0_95]
... 5 common frames omitted
scheint, wie die Laufzeit jdk und derjenige verwendet für die Erstellung ist nicht das gleiche. Ich habe nifi überprüft, und es verwendet jdk 1.7 (während ich 1.8 auf meinem Rechner lief). Ich habe das gleiche in meinem System installiert, aber ich bekomme immer noch den gleichen Fehler. Irgendwelche Vorschläge, wie das zu beheben ist? Vielen Dank!
EDIT
versuchte ich nifi 0,7 lokal und das Hinzufügen der benutzerdefinierten Prozessor installieren, aber ich exakt das gleiche Verhalten zu bekommen.
Scheint, als ob ich keine verfügbaren Optionen, wenn ich möchte HDF verwenden, nicht wahr? Denkst du, es würde funktionieren (bezüglich dieses jdk-Problems), die nifi-Installation des HDF zu entfernen und die Version 0.7 manuell zu installieren? – riccamini
Wenn Sie eine saubere HDF 1.2.0.1 nehmen und diese NAR http://central.maven.org/maven2/org/apache/nifi/nifi-hive-nar/0.7.0/nifi-hive-nar-0.7 nehmen. 0nar und lege es in das lib-Verzeichnis, funktioniert das nicht? –
Ja, es funktioniert. Danke, ich habe es sehr geschätzt – riccamini