【发布时间】:2020-04-07 07:47:59
【问题描述】:
尝试连接到 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 start 命令):
/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/kafka_2.12-2.3.0/config/connect-standalone.properties中的plugin.path
与
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
我在网上研究了类似的案例,但其中许多是收到相同错误消息的用户,但他们想要的连接器并没有像我一样列在可用连接器列表中。
我最初尝试将雪花 jar 直接放在 libs 文件夹中,然后再次作为整个包结构,但都不起作用。
每次尝试后,我都停止了 zookeeper / kafka 并重新启动它们,但仍然出现相同的错误。
我已经使用添加到 PATH 的 jar 路径进行了测试,但我收到了同样的失败结果。
我看过的地方:
https://docs.confluent.io/3.1.1/connect/userguide.html#installing-connector-plugins
Kafka Connect can't find connector
Kafka Connect cant' find class of developed plugin
Kafka Connect failed to add 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
How to copy or configure kafka connect plugin files?
我下载连接器的位置: https://mvnrepository.com/artifact/com.snowflake/snowflake-kafka-connector/1.0.0
我已经研究了几天了,我觉得我已经尝试了所有这些建议。但是,它们都不适合我,我不知道我做错了什么。
【问题讨论】:
-
日志输出中是否还有其他值得注意的错误?另外,您的配置文件是否与此处的示例相似? docs.snowflake.net/manuals/user-guide/…
-
刚刚查看了日志,有很多 INFO 和 WARN,但只有一个错误行。我确实看到了这一点,这不是错误,但让我更加困惑:INFO Loading plugin from: /path_to_kafka/kafka_2.12-2.3.0/libs/snowflakeinc-snowflake-kafka-connector (org.apache.kafka.connect.runtime .isolation.DelegatingClassLoader:222)。对于配置文件,我大量引用了您提供的链接并在网上找到了一些示例,所以我认为它可能是可以接受的。
-
你应该只需要
plugin.path=/usr/share/java,/path_to_kafka/kafka_2.12-2.3.0/libs,但看起来它正在从日志中正常加载 -
也许你可以向这个人寻求帮助stackoverflow.com/q/59329007/2308683
-
这并不能直接回答您的问题,但是如果您使用 Confluent Hub 安装插件,您会发现生活更轻松 -
confluent-hub install --no-prompt snowflakeinc/snowflake-kafka-connector:0.5.5。请参阅此处以获取工作配置github.com/confluentinc/demo-scene/blob/master/…
标签: apache-kafka apache-kafka-connect snowflake-cloud-data-platform