gpt4 book ai didi

java - 添加自定义处理器后 Apache Nifi 不启动

转载 作者:可可西里 更新时间:2023-11-01 16:30:00 33 4
gpt4 key购买 nike

我正在使用 Hortonworks HDF 1.2.0.1 沙箱,我正在尝试添加 PutHiveQL将包含在 1.0 nifi 版本中的处理器。到目前为止,我已经生成了 .nar 存档,但是当它被导入/lib 目录时,nifi 不再启动。我在 nifi-app.log 中得到一个 java.lang.UnsupportedClassVersionError:

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

好像runtime jdk和编译用的不是同一个。我已经检查过 nifi,它使用的是 jdk 1.7(当我在我的机器上运行 1.8 时)。我已经在我的系统中安装了相同的,但我仍然遇到同样的错误。关于如何解决这个问题的任何建议?谢谢!


编辑

我尝试在本地安装 nifi 0.7 并添加自定义处理器,但我得到了完全相同的行为。

最佳答案

如果您从 NiFi master (1.0.0) 分支构建 Hive NAR,它正在为 Java 1.8 编译它,这可能不适用于 HDF 1.2.0.1,因为它是为 Java 1.7 编译的。 NiFi 1.0.0 正在至少迁移到 Java 1.8。

您可以检查 NiFi 的 0.x 分支并从那里构建 Hive 处理器,因为它仍然是 Java 1.7,或者您可以获得最新的 0.7.0 NiFi 版本,它已经具有 Hive NAR,只需从中获取 NAR库目录:

https://nifi.apache.org/download.html

关于java - 添加自定义处理器后 Apache Nifi 不启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38398285/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com