2017-12-13 4 views
0

BigQueryでいくつかのタスクを実行するためのカスタムNiFiプロセッサを作成しました。私は、認証に使用するためにNiFiにバンドルされているGCP資格情報プロバイダコントローラサービスを再利用できるようにしたいと考えています。これは可能ですか?プロジェクトにnifi-gcp-processors maven依存関係を追加しようとしましたが、正常に構築されましたが、自分のnarでNiFiを起動しようとすると、このエラーメッセージで失敗します。カスタムNiFiプロセッサでGCPコントローラサービスを使用する

2017-12-14 05:09:27,406 ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi due to java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: Provider org.apache.nifi.processors.gcp.storage.PutGCSObject could not be instantiated 
java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: Provider org.apache.nifi.processors.gcp.storage.PutGCSObject 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:142) 
    at org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:117) 
    at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:702) 
    at org.apache.nifi.NiFi.<init>(NiFi.java:160) 
    at org.apache.nifi.NiFi.main(NiFi.java:268) 
Caused by: java.lang.NoClassDefFoundError: com/google/cloud/HttpServiceOptions 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) 
    at java.lang.Class.getConstructor0(Class.java:3075) 
    at java.lang.Class.newInstance(Class.java:412) 
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) 
    ... 7 common frames omitted 
Caused by: java.lang.ClassNotFoundException: com.google.cloud.HttpServiceOptions 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 12 common frames omitted 
2017-12-14 05:09:27,408 INFO [Thread-1] org.apache.nifi.NiFi Initiating shutdown of Jetty web server... 
2017-12-14 05:09:27,408 INFO [Thread-1] org.apache.nifi.NiFi Jetty web server shutdown completed (nicely or otherwise). 

答えて

1

カスタムプロセッサでGCPCredentialsControllerServiceを再利用することは可能です。 nifi-gcp-narに "NAR dependency"がないと、NiFiはプロセッサをGCP資格情報サービスと適切に一致させることができます。これは、カスタムプロセスバンドルの "my-processors-nar"のようなNAR出力プロジェクトのpom.xmlファイルで設定されます。それは次のようになります。

<dependency> 
    <groupId>org.apache.nifi</groupId> 
    <artifactId>nifi-gcp-nar</artifactId> 
    <version>1.4.0</version> 
    <type>nar</type> 
</dependency> 

は詳細についてはNiFi開発者ガイドでNiFi Archives (NARs)を参照してください。

関連する問題