2017-09-14 12 views
0

私は(間にLogstashを入れずに)直接Elasticsearchにカフカ(V0.11.0.1)からトピックをストリーミングするために、コンフルエントからkafka-connect-elasticsearchプラグインを実行しようとしています。カフカ接続Elasticsearch - NoSuchMethodError

私はMavenを使用してコネクターを構築 -

$ cd kafka-connect-elasticsearch 
$ mvn clean package 

私はその後、必要な構成ファイルを作成 - 新しいカフカクラスパスの分離仕様を1として

name=es-cluster-lab 
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector 
tasks.max=1 
topics=filebeats-test 
topic.index.map=filebeats-test:kafka_test_index 
key.ignore=true 
schema-ignore=true 
connection.url=http://elastic:9200 
type.name=log 

を、私はまた私に次の行を追加しましたconnect-standalone.propertiesファイル -

plugin.path=/home/kafka/kafka-connect-elasticsearch-3.3.0/target/kafka-connect-elasticsearch-3.3.0-development/share/java/kafka-connect-elasticsearch/ 

私はスクリプトを実行する...

bin/connect-standalone.sh config/connect-standalone.properties config/elasticsearch-connect.properties 

...以下のエラーが表示されます。

[2017-09-14 16:08:26,599] INFO Loading plugin from: /home/kafka/kafka-connect-elasticsearch-3.3.0/target/kafka-connect-elasticsearch-3.3.0-development/share/java/kafka-connect-elasticsearch/slf4j-api-1.7.25.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:176) 
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator; 
     at org.reflections.Reflections.expandSuperTypes(Reflections.java:380) 
     at org.reflections.Reflections.<init>(Reflections.java:126) 
     at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:221) 
     at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:198) 
     at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.registerPlugin(DelegatingClassLoader.java:190) 
     at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:150) 
     at org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:47) 
     at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:68) 

私も/app/kafka/libs directory(デフォルトのCLASSPATH)にJARファイルを移動しようとしたとしても、サブディレクトリ/app/kafka/libs/connect_libsを作成して、私のCLASSPATH環境変数に手動でを追加しようとしました。

私の次のステップは、カフカとエラスティックの間にLogstashを置くこと以外には何がわかりませんか。

答えて

0

は、プラグインのパスのパスの最後に「*」私はあなたがスターが欠けていると思いますが、それを

0

を構築する前に、20にグアバのバージョンを変更してみてください。

plugin.path=/home/kafka/kafka-connect-elasticsearch-3.3.0/target/kafka-connect-elasticsearch-3.3.0-development/share/java/kafka-connect-elasticsearch/* 
関連する問題