HATA Hata nedeniyle durma (org.apache.kafka.connect.cli.ConnectDistributed) java.lang.NoClassDefFoundError: io / debezium / util / IoUtil
Amaç
Debezium bağlayıcısını (1.2.4.Final) kullanarak Kafka Connect'ten (ideal olarak dağıtılmış modda) Oracle Veritabanıma (12c) bağlanmaya çalışıyorum. Kullandığım Kafka sürümü 2.13-2.6.0.
Komut kullanıldı
Başına belirttiğimiz gibi burada , ben bu komutu çalıştırıyorum:
C:\Users\username\Downloads\kafka>bin\windows\connect-distributed.bat config\connect-distributed.properties
Hata
Aldığım hata:
HATA (org.apache.kafka.connect.cli.ConnectDistributed) java.lang.NoClassDefFoundError: io.debezium.connector.oracle.Module adresinde io / debezium / util / IoUtil. (Module.java:19) hatası nedeniyle durdurma io.debezium.connector.oracle.OracleConnector.version (OracleConnector.java:23), org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor (DelegatingClassLoader.java:390), org.apache.kafka.connect adresinde. runtime.isolation.DelegatingClassLoader.versionFor (DelegatingClassLoader.java:395) at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.getPluginDesc (DelegatingClassLoader.java:365) org.apache.kafka.connect.connect.connect. DelegatingClassLoader.scanPluginPath (DelegatingClassLoader.java:337) org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins (DelegatingClassLoader.java:268), orgconnect.apruntime.kafka.regating DelegatingClassLoader.java:260) org.apache.kafka.connect.runtime.isola'da org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders (DelegatingClassLoader.java:206) at org.apache.kafisolation.Pruntime.initPluginLoader.initPluginLoader (DelegatingClassLoader.java:229). (Plugins.java:61) org.apache.kafka.connect.cli.ConnectDistributed.startConnect adresinde (ConnectDistributed.java:91) org.apache.kafka.connect.cli.ConnectDistributed.main'de (ConnectDistributed.java:78) Neden oldu by: java.lang.ClassNotFoundException: io.debezium.util.IoUtil at java.net.URLClassLoader.findClass (URLClassLoader.java:382), java.lang.ClassLoader.loadClass (ClassLoader.java:418) at org.apache. kafka.connect.runtime.isolation.PluginClassLoader.loadClass (PluginClassLoader.java:104) java.lang.ClassLoader.loadClass (ClassLoader.java:351) ... 13 daha fazla
Ayarlar
Connect-distributed.properties dosyamda şuna sahibim:
plugin.path=C:/Users/username/Downloads/kafka/libs/debezium
Ve (yorumun dan Gunnar'ın öneri sonrasında debezium klasörünün içindeki bu soruya ), ben bu kavanoz var:
Eklenti yolunu% PATH% içine şu şekilde ekledim:
echo %PATH% | findstr debezium
XXX; C: \ Kullanıcılar \ kullanıcı adı \ Yüklemeler \ kafka \ libs \ debezium;
Yardım
Veritabanı yoklamamı daha iyi bir yaklaşım gibi görünen bu debezium konektörüyle değiştirmeyi umduğum için herhangi bir yardım çok takdir edilecektir. Teşekkürler!
Yanıtlar
Gunnar'ın çözümü burada işe yarıyor! (Kontrol etmek isterseniz açıklaması da orada.)
plugin.path=C:\\Users\\username\\Downloads\\kafka\\libs
ve bu da işe yarıyor:
plugin.path=C:/Users/username/Downloads/kafka/libs
plugin.path=C:\Users\username\Downloads\kafka\libs
plugin.path=/Users/username/Downloads/kafka/libs
Hata şudur: plugin.pathlibs / debezium değil libs olmalıdır