使用avro支持启动kafka connect时出错

z5btuh9x  于 2021-06-07  发布在  Kafka
关注(0)|答案(0)|浏览(303)

我在尝试使用命令启动kafka connect时遇到许多异常:

./bin/connect-distributed ./etc/schema-registry/connect-avro-distributed.properties

对于share/java目录中的每一个jar(至少),我都会遇到类似这样的异常,抱怨糟糕的幻数:

[2018-01-30 08:10:47,804] DEBUG could not scan file META-INF/MANIFEST.MF in url file:/opt/confluent/confluent-4.0.0/./bin/../share/java/kafka/javassist-3.21.0-GA.jar with scanner SubTypesScanner (org.reflections.Reflections:257)
org.reflections.ReflectionsException: could not create class object from file META-INF/MANIFEST.MF
    at org.reflections.scanners.AbstractScanner.scan(AbstractScanner.java:32)
    at org.reflections.Reflections.scan(Reflections.java:253)
    at org.reflections.Reflections.scan(Reflections.java:202)
    at org.reflections.Reflections.<init>(Reflections.java:123)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:258)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:201)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:162)
    at org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:47)
    at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:70)
Caused by: org.reflections.ReflectionsException: could not create class file from MANIFEST.MF
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:102)
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:24)
    at org.reflections.scanners.AbstractScanner.scan(AbstractScanner.java:30)
    ... 8 more
Caused by: java.io.IOException: bad magic number: 4d616e69
    at javassist.bytecode.ClassFile.read(ClassFile.java:825)
    at javassist.bytecode.ClassFile.<init>(ClassFile.java:154)
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:100)
    ... 10 more

我已经在文件“./etc/schema registry/connect avro distributed.properties”中配置了插件目录的完整路径。
我在ubuntu服务器16.04上运行,使用的是confluent oss 4.0.0-2.11,我试过oracle的jdk和jre v1.8.0¢v9.0.4和openjdk8,结果完全一样。然而,奇怪的是,同样的版本,在ubuntu桌面16.04上顺利启动。我甚至尝试将所有“share/java”dir内容从正在工作的机器复制到不工作的机器(在一些文件夹中重新创建符号链接),但没有任何区别。
在同一台服务器上,我可以毫无问题地启动kafka服务器和模式注册表。
此外,从合流的v3.3.0安装运行相同的命令运行得非常好。因此,我尝试在confluent-4.0.0的“./etc/schema registry/connect avro distributed.properties”文件中配置plugin.path变量,以指向confluent-3.3.0安装中的“share/java”目录。但是从confluent-4.0.0文件夹中运行指向confluent-3.3.0'share/java'目录的命令会导致相同的异常链。
有什么线索说明可能是错的吗??因为我已经没有主意了。。。
谢谢!!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题