HATA Hata nedeniyle durma (org.apache.kafka.connect.cli.ConnectDistributed) java.lang.NoClassDefFoundError: io / debezium / util / IoUtil

Sep 23 2020

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

1 jumping_monkey Sep 23 2020 at 10:45

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