设置Kafka连接器管道时出错
环境概述:
Docker容器
操作系统
卡夫卡版
你好
我正在阅读Neha Narkhede,Gwen Shapira和Todd Palino撰写的《卡夫卡:权威指南》
我到达了《连接器示例:从MySQL到Elasticsearch》一章(第146页),
按照说明创建从MySql源到Elasticsearch接收器的管道。
我已经从指令中转移了一些
与我下载的其他一些连接器相比更加坚固。我将connect-distributed.properties中的plugin.path设置为:
plugin.path = C://用户//ROY//confluent-6.0.0//share//kafka,/mnt/c/Users/ROY/confluent-6.0.0/share/kafka
mysql连接器工作正常,并将数据读入主题,
但是当我尝试创建Elasticsearch连接器时,出现以下错误:
...
(io.confluent.connect._Elasticsearch_._Elasticsearch_SinkConnectorConfig:354)
[2020-10-16 12:22:27,170] ERROR WorkerSinkTask{id=elastic-login-connector-0} Task threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask:187)
java.lang.NoClassDefFoundError: io/searchbox/action/Action
at io.confluent.connect._Elasticsearch_._Elasticsearch_SinkTask.start(_Elasticsearch_SinkTask.java:74)
at io.confluent.connect._Elasticsearch_._Elasticsearch_SinkTask.start(_Elasticsearch_SinkTask.java:48)
at org.apache.kafka.connect.runtime.WorkerSinkTask.initializeAndStart(WorkerSinkTask.java:302)
at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:193)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:185)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:235)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: io.searchbox.action.Action
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 11 more
...
有人可以协助解决问题并提供错误的解释吗?谢谢
罗伊
最佳答案
好的,我发现了问题。在 Elasticsearch 连接器源代码上运行“mvn软件包”后,我应该将整个目录复制到Kafka的/ share目录中,而不是只使用一个.jar文件。
关于mysql - 设置Kafka连接器管道时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64388290/