无法将 Kafka 与 InfluxDB Sink Connector 连接

Posted

技术标签:

【中文标题】无法将 Kafka 与 InfluxDB Sink Connector 连接【英文标题】:Failed to connect Kafka with InfluxDB Sink Connector 【发布时间】:2021-09-17 18:22:55 【问题描述】:

我正在尝试将 Kafka 与 InfluxDB 连接起来。 这是我的 InfluxSink.properties,基本上是连接器。

name=influxdb
connector.class=com.github.jcustenborder.kafka.connect.influxdb.InfluxDBSinkConnector
tasks.max=1
topics=influx
connect.influx.url=http://influxdb:8086
connect.influx.db=mydb
connect.influx.username=admin

但是在运行我的连接器时,我遇到了这个错误

ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalone:126)
java.lang.NoClassDefFoundError: com/github/jcustenborder/kafka/connect/utils/VersionUtil
    at com.github.jcustenborder.kafka.connect.influxdb.InfluxDBSinkConnector.version(InfluxDBSinkConnector.java:41)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor(DelegatingClassLoader.java:387)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor(DelegatingClassLoader.java:392)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.getPluginDesc(DelegatingClassLoader.java:362)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:334)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:268)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:216)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:209)
    at org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:61)
    at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:78)
Caused by: java.lang.ClassNotFoundException: com.github.jcustenborder.kafka.connect.utils.VersionUtil
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    ... 10 more

如何消除此错误。需要的建议! 提前致谢。

【问题讨论】:

您是如何安装连接器的?您使用的是哪个版本,以及 Kafka Connect 的哪个版本?顺便说一句,发布错误文本比屏幕截图要好得多 - 它使人们更容易阅读,并帮助其他人搜索类似问题:) @RobinMoffatt 确定我下次会这样做.... :) 我使用的是 Kakfa 2.13。 jar-download.com/artifacts/… 从这里下载连接器的 jar 文件。 【参考方案1】:

您没有正确安装连接器。最好的方法是从 Confluent Hub 下载并使用提供的 CLI 安装,或者将其解压缩到 Kafka Connect 插件文件夹(如果需要,更新 plugin.path)。

我相信 InfluxDB 连接器已经被作者删除并替换为this one。您可能会发现它的旧副本或原始存储库的分支,但请记住,它们可能已经过时了好几年。

【讨论】:

以上是关于无法将 Kafka 与 InfluxDB Sink Connector 连接的主要内容,如果未能解决你的问题,请参考以下文章

无法运行JDBC sink将数据从Kafka移动到MS SQL Server

无法使用镜头 kudu sink 连接器将数据从 kafka 主题插入或更新到 kudu 表

Confluent Kafka Sink Connector 未将数据加载到 Postgres 表

Kafka JDBC Sink 句柄数组数据类型

Kafka JDBC Sink 连接器与 PostgreSQL 12 兼容吗?

Kafka-Connect:启动 S3 Sink 连接器时出现无法识别的错误