2017-09-14 2 views
0

내가 (사이에 Logstash을주지 않고) 직접 Elasticsearch에 카프카 (V0.11.0.1)에서 주제를 스트리밍하기 위해 지류에서 kafka-connect-elasticsearch 플러그인을 실행하려합니다.카프카 연결 Elasticsearch - NoSuchMethodError

$ cd kafka-connect-elasticsearch 
$ mvn clean package 

내가 다음 필요 구성 파일 생성 - -

내가 메이븐을 사용하여 커넥터를 구축 새로운 카프카 클래스 경로 절연 사양으로 당

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 환경 변수에 수동으로 추가하려고 했어요.

Kafka와 Elastic 사이에 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/*