当前位置: 首页 > 知识库问答 >
问题:

Kafka to Snowflake - 找不到任何实现连接器的类

令狐烨烨
2023-03-14

尝试连接到Kafka集群,并从主题向雪花写入数据。

我得到的错误是:

java.util.concurrent.ExecutionException: org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches com.snowflake.kafka.connector.SnowflakeSinkConnector

available connectors are: PluginDesc{klass=class com.snowflake.kafka.connector.SnowflakeSinkConnector, name='com.snowflake.kafka.connector.SnowflakeSinkConnector', version='1.0.0', encodedVersion=1.0.0, type=sink, typeName='sink', location='file:path_to_kafka/kafka_2.12-2.3.0/libs/snowflakeinc-snowflake-kafka-connector/'}

我用来运行的命令(不包括标准的zookeeper / kafka启动命令):

/path_to_kafka/kafka_2.12-2.3.0/bin/connect-standalone.sh /path_to_kafka/kafka_2.12-2.3.0/config/connect-standalone.properties /path_to_kafka/kafka_2.12-2.3.0/config/snowflake_properties.properties

到目前为止我所做的:

更新的插件。路径在/path_to_kafka/kafka2.12-2.3.0/config/connect-standalone.properties

plugin.path=/usr/share/java,/path_to_kafka/kafka_2.12-2.3.0/libs,/path_to_kafka/kafka_2.12-2.3.0/libs/snowflakeinc-snowflake-kafka-connector

我在网上研究了类似的案例,但是虽然其中许多是收到相同错误消息的用户,但他们想要的连接器并没有像我一样列在可用连接器列表中。

我最初尝试将雪花罐直接放在 libs 文件夹中,然后再次作为整个包结构,但两者都不起作用。

每次尝试后,我都停止了动物园管理员/ kafka并重新启动它们,但仍然收到相同的错误。

我已经使用添加到 PATH 的 jar 路径进行了测试,但我收到了相同的失败结果。

我找过的地方:

https://docs . confluent . io/3 . 1 . 1/connect/user guide . html #安装-连接器-插件

Kafka Connect找不到连接器

Kafka Connect找不到已开发插件的类

Kafka Connect无法添加MySqlConnector

https://github.com/DataReply/kafka-connect-mongodb/issues/23

https://github.com/confluentinc/kafka-connect-jdbc/issues/476

https://github.com/wepay/kafka-connect-bigquery/issues/109

如何复制或配置kafka连接插件文件?

我下载连接器的位置:https://mvnrepository.com/artifact/com.snowflake/snowflake-kafka-connector/1.0.0

我已经研究这个问题几天了,我觉得我已经尝试了所有这些建议。但是,它们都不适合我,我不知道我做错了什么。

共有2个答案

曹鸿风
2023-03-14

我能够在Debian“cp kafka connect”图像中克服这个问题。

在手动安装连接器插件时,我试图:

  1. 通过卷装载连接器插件文件,并在CONNECT_plugin_PATH中手动提取插件
  2. 运行汇流轮毂安装(连接POD启动后)。

以上两个选项都需要POD重启。

为了克服这种手动重启POD的问题,您可以直接使用下面的命令从映像中安装连接器插件。

confluent-hub install snowflakeinc/snowflake-kafka-connector:1.4.3

安装coonNector插件后,您可以安装自定义连接器:

curl -X POST -H "Content-Type: application/json" --data @ODX.json http://localhost:8083/connectors

注意:CLASSPATH或CONNECT_PLUGIN_PATH中不需要任何其他的修改。

柳飞飙
2023-03-14

从连接器文档中:

将下载的JAR文件[…]复制到 /libs文件夹。

要使其成为Kafka命令的java运行时类路径,jar需要直接位于/path_To_Kafka/Kafka_22.12-2.3.0/libs/目录下。根据您的描述,它们似乎位于子目录中(/path_to_kafka/kafka_2.12-2.3.0/libs/ssnowflakeinc snowflake kafka connector/)。

 类似资料:
  • 我正在尝试使用Kafka Connect Elasticsearch连接器,但没有成功。它正在崩溃,并出现以下错误: 我已经在kafka子文件夹中解压了插件的编译版本,并在connect-standalone.properties中有以下代码行: 我可以看到该文件夹中的各种连接器,但Kafka Connect不加载它们;但它确实加载了标准连接器,如下所示: 如何正确注册连接器?

  • 我试图使用带有Datastax Spark-Cassandra连接器的Spark查询Cassandra。火花代码是 我发现了另一个帖子,看起来类似的火花工作卡珊德拉错误,但它是一个不同的类,无法找到,所以我不确定它是否有帮助。

  • 我对flink/Java/Scala还比较陌生,所以这可能不是问题,但非常感谢您的帮助。我还没有找到一个将Flink Kafka连接器与Flink 1.13结合使用的示例(对我适用)。 我的项目在这里:https://github.com/sysarcher/flink-scala-tests 我想我无法使用我想试用的FlinkKafkaConsumer(链接)。 我正在使用IntelliJ Id

  • 我正在尝试修改此链接中给出的Openmrs rest调用:https://github.com/openmrs/openmrs-module-webservices.rest/blob/master/omod-common/src/main/java/org/openmrs/module/webservices/rest/web/v1_0/controller/SessionController.

  • 我尝试连接多个设备进行调试,但Android Studio无法检测到其中任何一个,我已经检查了USB驱动程序是否已正确安装,并且开发人员模式已正确配置。我知道我的设备没有问题,因为我已经在其他计算机上尝试过它们,它们都可以正常工作。关于我该怎么做的任何想法? Android Studio版本:2.1.2在Windows 8.1的计算机上运行 更新:重新安装也不起作用 更新2:在重新安装我为Andr

  • 使用此Kafka Connect连接器: https://www.confluent.io/hub/confluentinc/kafka-connect-s3 我手动将其安装到我的kafka Connect Docker映像的插件中。我的目的是使用Kafka Connect将来自Kafka主题的Avro记录写入S3。 在运行时,使用Kafka Connect,我会得到以下错误: 在ConFluen