2017-08-01 40 views
-1

嘿StackOverflow社区,Nifi流中的ClassNotFoundException

我的Nifi流程有一些问题。我让一个人从我的Azure blob中获取数据,将它们放入我的HDFSCluster(仍在Azure中)。

我在Nifi项目PutHDFS配置为:

PutHDFSConfiguration

但是,当我告知现场 “的Hadoop ressources”,我有这个以下错误:

PutHDFS [ID = 89381b69- 015D-1000-deb7-50b6cf485d28] org.apache.hadoop.fs.adl.HdiAdlFileSystem:抛出java.lang.ClassNotFoundException:org.apache.hadoop.fs.adl.HdiAdlFileSystem

PutHDFS [ID = 89381b69-015d-1000 -deb7-50b6cf485d28] PutHDFS [i d = 89381b69-015d-1000-deb7-50b6cf485d28]由于java.lang.RuntimeException未能调用@OnScheduled方法:执行处理器的OnScheduled任务之一时失败。处理器将不会计划运行30秒:java.lang.RuntimeException:执行处理器的任何一个OnScheduled任务时失败。

我该如何解决这个问题,并将我的数据放入我的群集中。

感谢您的回答。

+0

看起来你缺少类路径中的hadoop库 –

回答

1

Apache NiFi不绑定任何与Azure相关的库,它只绑定标准的Apache Hadoop客户端,如果使用最近的NiFi版本,则目前为2.7.3。

您可以通过名为“Additional Classpath Resources”的PutHDFS处理器属性指定其他Azure JAR的位置。

+0

好的谢谢,会试试这个。只有吨找到了Azure JAR .... –

+0

这个解决方案的问题是,如果我升级我的NIFI,那么额外的天蓝色JAR无法工作。其实,我看我的core-site.xml文件,我认为一些信息丢失。像 fs.adl.oauth2.client.id fs.adl.oauth2.refresh.token 但我还没有在Azure中,以适当的权更新文件... –