错误由于错误而停止(org.apache.kafka.connect.cli.ConnectDistributed)java.lang.NoClassDefFoundError:io/debezium/util/IoUtil

2024-02-10

客观的

我正在尝试使用 Debezium 连接器(1.2.4.Final)从 Kafka Connect(最好是分布式模式)连接到我的 Oracle 数据库(12c)。我使用的Kafka版本是2.13-2.6.0。

使用的命令

正如所提到的here https://kafka.apache.org/documentation/#connect_running,我正在运行这个命令:

C:\Users\username\Downloads\kafka>bin\windows\connect-distributed.bat config\connect-distributed.properties

Error

我得到的错误是:

ERROR 因错误而停止 (org.apache.kafka.connect.cli.ConnectDistributed) java.lang.NoClassDefFoundError: io/debezium/util/IoUtil 在 io.debezium.connector.oracle.Module.(Module.java:19) 在 io.debezium.connector.oracle.OracleConnector.version(OracleConnector.java:23) 在 org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor(DelegatingClassLoader.java:390) 在 org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor(DelegatingClassLoader.java:395) 在 org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.getPluginDesc(DelegatingClassLoader.java:365) 在 org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:337) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:268) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.registerPlugin(DelegatingClassLoader.java:260) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:229) 在org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:206) 在 org.apache.kafka.connect.runtime.isolation.Plugins。(Plugins.java:61) 在 org.apache.kafka.connect.cli.ConnectDistributed.startConnect(ConnectDistributed.java:91) 在 org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:78) 引起原因:java.lang.ClassNotFoundException:io.debezium.util.IoUtil 在 java.net.URLClassLoader.findClass(URLClassLoader.java:382) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:418) 在org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 13 更多

Settings

在我的 connect-distributed.properties 中,我有这个:

plugin.path=C:/Users/username/Downloads/kafka/libs/debezium

And inside the debezium folder(following Gunnar's recommendation from the comment in this question https://stackoverflow.com/questions/54791140/error-stopping-due-to-error-org-apache-kafka-connect-cli-connectstandalone-jav), i have these jars: enter image description here

我还在%PATH%中添加了插件路径,如下所示:

echo %PATH% | findstr debezium

XXX;C:\Users\用户名\Downloads\kafka\libs\debezium;

Help

任何帮助将不胜感激,因为我希望用这个 debezium 连接器替换我的数据库轮询,这似乎是更好的方法。谢谢!


Gunnar 的解决方案here https://groups.google.com/g/debezium/c/6k_PVrWsdYI作品! (如果你想查看的话,他的解释也在那里。)

plugin.path=C:\\Users\\username\\Downloads\\kafka\\libs

这也有效:

plugin.path=C:/Users/username/Downloads/kafka/libs
plugin.path=C:\Users\username\Downloads\kafka\libs
plugin.path=/Users/username/Downloads/kafka/libs

错误是:plugin.path应该由 libs 而不是 libs/debezium 决定

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误由于错误而停止(org.apache.kafka.connect.cli.ConnectDistributed)java.lang.NoClassDefFoundError:io/debezium/util/IoUtil 的相关文章

  • Golang 推迟关闭

    我是新来的 学习推迟 我想知道为什么第一个有效而第二个无效 我想知道它们之间有什么区别 第一的 func say s string defer func if r recover r nil fmt Println Recovered in
  • 如何使用 XSLT 将 XML 转换为文本文件

    我正在尝试使用 XSLT 将 XML 文件转换为文本 但我没有任何使用 XSLT 的经验 下面是一个 XML 文件示例

随机推荐