2017-08-01 44 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中,以適當的權更新文件... –