Ana*_*hak 4 elasticsearch apache-kafka confluent apache-kafka-connect
我一直在尝试使用kafka-connect api将kafka连接到elasticsearch.Kafka版本是0.11.0.0.这是我遵循的步骤:
1.Buiding Elasticsearch Connector:
https://github.com/confluentinc/kafka-connect-elasticsearch.git
2.建立连接器
$ cd kafka-connect-elasticsearch
$ mvn clean package
Run Code Online (Sandbox Code Playgroud)
3.最后运行脚本:
$ bin/connect-standalone.sh config/connect-standalone.properties config/elasticsearch-connect.properties
Run Code Online (Sandbox Code Playgroud)
它抛出以下异常:
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.initLoaders(DelegatingClassLoader.java:159)
at org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:47)
at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:68)
Run Code Online (Sandbox Code Playgroud)
无法理解出了什么问题.
根据经验,此错误意味着您将guava在类路径中引入较早版本的旧版本.连接工作者需要guava >= 20的org.reflections正常工作.
kafka-connect-elasticsearch或带有它guava 18.0或更旧的任何其他连接器将禁止工人启动.此错误消息表示guava在类路径中首先遇到旧jar.
两种解决方案
plugin.pathConnect worker的配置来使用类加载隔离,将允许连接器按原样工作而不会干扰Connect框架.guava选择. | 归档时间: |
|
| 查看次数: |
6092 次 |
| 最近记录: |