首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Nifi中从OPCUA服务器收集值

在Nifi中从OPCUA服务器收集值
EN

Stack Overflow用户
提问于 2017-07-27 21:25:11
回答 2查看 1.1K关注 0票数 0

我按照https://community.hortonworks.com/articles/90355/collect-data-from-opc-ua-protocol.html中描述的步骤从NiFi连接到OPC服务器。

我使用Maven从源代码构建了https://github.com/wadesalazar/NIFI-OPCUA。结果产生了几个nar文件和jar文件。为我获取的jar和nar是:

opc-ua-stack-1.03.341.0-SNAPSHOT.jar

nifi-opcua-bundle-processors-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.1-SNAPSHOT.nar

nifi-opcua-service-nar-0.0.1-SNAPSHOT.nar

nifi-opcua-bundle-nar-0.0.1-SNAPSHOT.nar

如果我粘贴nifi的lib文件夹中的所有nar和jar文件,nifi在启动时会崩溃。错误是:

代码语言:javascript
运行
复制
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).

如果我只粘贴nar文件,Nifi就会启动,我可以看到定制的GetNodeIds处理器,但无法从OPCUA服务器接收数据。该服务抛出错误,如下所示

代码语言:javascript
运行
复制
java.lang.noclassdeffounderror: org/bouncycastle/crypto/DataLengthException

将哪个nar和jar复制到NiFi的lib文件夹中以使其工作,以及如何正确地继续该过程。

EN

回答 2

Stack Overflow用户

发布于 2017-07-28 04:25:06

非常确定编译后收到的jar文件已包含在nar文件中。

所以您应该只将nar复制到lib目录中。

但是根据下面的文档,upc-ua需要额外的jars

https://github.com/OPCFoundation/UA-Java#runtime-dependencies

只需将其他所需的库复制到lib文件夹中。

票数 0
EN

Stack Overflow用户

发布于 2019-09-09 00:05:49

我也有同样的问题,我想那是因为类"StandardValidators“已经被移到了nifi-utils-xxx.jar中,你必须从maven仓库下载它,因为jar文件没有集成到NIFI安装程序中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45352159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档