2016-09-17 3 views
0

私はkafkaからデータを消費し、hdfsに書き込むストームトポロジを構築しました。以下のような嵐&カフカの依存関係を使用している場合Storm:KafkaからHDFSへの依存関係の問題

<storm.version>0.10.0.2.3.4.0-3485</storm.version> 
<kafka.version>0.8.2.1</kafka.version> 

トポロジは、下記の例外を除いて失敗している:

java.lang.NoSuchMethodError: kafka.javaapi.consumer.SimpleConsumer.<init>(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V 
at storm.kafka.DynamicPartitionConnections.register(DynamicPartitionConnections.java:60) 
at storm.kafka.PartitionManager.<init>(PartitionManager.java:66) 
at storm.kafka.ZkCoordinator.refresh(ZkCoordinator.java:98) 
at storm.kafka.ZkCoordinator.getMyManagedPartitions(ZkCoordinator.java:69) at storm.kafka.KafkaSpout.nextTuple(KafkaSpout.java:138) 
at backtype.storm.daemon.executor$fn__7098$fn__7113$fn__7142.invoke(executor.clj:596) 
at backtype.storm.util$async_loop$fn__543.invoke(util.clj:475) 
at clojure.lang.AFn.run(AFn.java:22) 
at java.lang.Thread.run(Thread.java:745) 

しかし、以下のような嵐&カフカの依存関係を使用して、

<storm.version>0.9.3.2.2.4.0-2633</storm.version> 
<kafka.version>0.8.2.1</kafka.version> 

トポロジはrですメッセージをダウンロードしてhdfsに書き込んでください。

誰かが問題の原因を助けて問題を解決するのに手伝ってください。

+0

HDPクラスタを使用していますか? –

+0

@RakeshRakshit ye​​ah、HDP – Raja

+0

あなたのHDPスタックがKafkaをサポートしているかどうかを確認してください。0.8 –

答えて

0

このことから嵐・カフカの依存関係を変更してみてください:

<groupId>org.apache.storm</groupId> 
<artifactId>storm-kafka</artifactId> 
<version>0.9.3.2.2.4.0-2633</version> 
<scope>compile</scope> 

そして、これまでの嵐とカフカのバージョンを維持する:

これに

<groupId>org.apache.storm</groupId> 
<artifactId>storm-kafka</artifactId> 
<version>${storm.version}</version> 
<scope>compile</scope> 

<storm.version>0.10.0.2.3.4.0-3485</storm.version> 
<kafka.version>0.8.2.1</kafka.version>