未能找到实现连接器且名称与FileStreamSource匹配的任何类



我遵循Kafka快速入门指南。我被困在第6步,导入/导出你的数据作为事件流…

https://kafka.apache.org/documentation/

这个错误表明Kafka找不到连接器。我已经将它添加到connect-standalone中。属性文件以各种方式。这是我目前的情况。

plugin.path=/home/ben/kafka/kafka_2.12-3.2.0/lib/connect-file-3.2.0.jar

我也试过只指向libs文件夹。

我停止了服务和服务器,并按照指南的指示重新启动它们。然后我尝试启动两个读取和写入文件的连接器。

bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties

但是它不会启动,并且给我这个错误。

[2022-06-18 18:06:16,006] ERROR Failed to create job for config/connect-file-source.properties (org.apache.kafka.connect.cli.ConnectStandalone:107)
[2022-06-18 18:06:16,020] ERROR Stopping after connector error (org.apache.kafka.connect.cli.ConnectStandalone:117)
java.util.concurrent.ExecutionException: org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches FileStreamSource, available connectors are: PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorCheckpointConnector, name='org.apache.kafka.connect.mirror.MirrorCheckpointConnector', version='3.2.0', encodedVersion=3.2.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorHeartbeatConnector, name='org.apache.kafka.connect.mirror.MirrorHeartbeatConnector', version='3.2.0', encodedVersion=3.2.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorSourceConnector, name='org.apache.kafka.connect.mirror.MirrorSourceConnector', version='3.2.0', encodedVersion=3.2.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSinkConnector, name='org.apache.kafka.connect.tools.MockSinkConnector', version='3.2.0', encodedVersion=3.2.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSourceConnector, name='org.apache.kafka.connect.tools.MockSourceConnector', version='3.2.0', encodedVersion=3.2.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.SchemaSourceConnector, name='org.apache.kafka.connect.tools.SchemaSourceConnector', version='3.2.0', encodedVersion=3.2.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSinkConnector, name='org.apache.kafka.connect.tools.VerifiableSinkConnector', version='3.2.0', encodedVersion=3.2.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSourceConnector, name='org.apache.kafka.connect.tools.VerifiableSourceConnector', version='3.2.0', encodedVersion=3.2.0, type=source, typeName='source', location='classpath'}

所以看起来我没有正确地将属性指向连接器,尽管在我尝试过的各种方法中,我还尝试了指南指示的相对路径。

这是一个运行Java 11的新Ubuntu安装。我遗漏了什么?

对于confluence -7.2.2, FileStreamSource连接器位于文件夹/share/filestream-connectors中。将它添加到我的plugin.path中对我有效。

这个答案建立在@John的答案之上,为那些在macOS Ventura上通过Homebrew安装Kafka的人提供了一个参考。对于上下文,我在尝试运行Kafka在Action中的第3章中的FileStreamSource连接器示例时遇到了此错误。为了解决这个问题,我复制了文件opt/homebrew/opt/kafka/libexec/config/connect-standalone.properties,编辑了新文件,使其具有额外的plugin.path=/opt/homebrew/opt/kafka/libexec/libs键值对,然后在我的PATH上调用connect-standalone二进制文件,并将编辑的属性文件作为第一个参数,而不是我的Kafka安装的默认connect-standalone.properties文件。

看:

/bin/kafka-run-class.sh:正则表达式="(-(测试|测试源| src | scaladoc | javadoc) . jar | jar.asc | connect-file。* . jar)美元">

我不知道细节,但是在类路径中排除了connect-file。我只需要编辑kafka-run-class.sh就可以了。

just add

plugin.path=libs/connect-file-3.4.0.jar

在你的config/connect-standalone。属性文件。

相关内容

  • 没有找到相关文章

最新更新