【问题标题】:Failed to find any class that implements connector and which name matches FileStreamSource找不到任何实现连接器且名称与 FileStreamSource 匹配的类
【发布时间】:2022-11-11 16:13:36
【问题描述】:

我遵循 Kafka 快速入门指南。不过,我被困在第 6 步,将您的数据导入/导出为事件流......

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

该错误表示 Kafka 找不到连接器。我以多种方式将它添加到 connect-standalone.properties 文件中。这是我目前拥有它的方式。

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 安装。我在这里缺少什么?

【问题讨论】:

  • 您不需要编辑插件路径。默认情况下,文件连接器位于类路径中
  • 我尝试在 connection-standard.properties 中注释掉插件路径。你是这个意思吗?我犯了同样的错误。
  • 当我将 libs 路径添加到侧 connect-standalone.properties 中的 plugin.path 时,会出现类似的错误,但原因是“找不到任何实现连接器且名称与 FileStreamSource 匹配的类”
  • 在启动日志中,您是否看到它试图添加文件连接器?

标签: apache-kafka apache-kafka-connect


【解决方案1】:

看着:

./bin/kafka-run-class.sh:regex="(-(test|test-sources|src|scaladoc|javadoc).jar|jar.asc|connect-file.*.jar)$"

我不知道细节,但连接文件被排除在类路径中。简单地编辑 kafka-run-class.sh 对我有用。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 2021-04-30
      • 2021-08-08
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 2021-05-21
      相关资源
      最近更新 更多