我正在尝试一个简单的快速入门示例,我得到:
由以下原因引起:org.apache.kafka.connect.errors.ConnectException:未能 查找实现连接器的任何类以及名称匹配的类 io.confluent.connect.s3.S3SinkConnector,可用的连接器有: io.confluent.connect.jdbc.JdbcSinkConnector, io.confluent.connect.jdbc.JdbcSourceConnector, org.apache.kafka.connect.tools.MockSinkConnector, org.apache.kafka.connect.file.FileStreamSourceConnector, org.apache.kafka.connect.sink.SinkConnector, io.confluent.connect.elasticsearch.ElasticsearchSinkConnector, org.apache.kafka.connect.tools.MockConnector, io.confluent.connect.hdfs.HdfsSinkConnector, org.apache.kafka.connect.file.FileStreamSinkConnector, org.apache.kafka.connect.tools.VerifiableSourceConnector, org.apache.kafka.connect.tools.VerifiableSinkConnector, org.apache.kafka.connect.tools.SchemaSourceConnector, org.apache.kafka.connect.source.SourceConnector, org.apache.kafka.connect.tools.MockSourceConnector, io.confluent.connect.hdfs.tools.SchemaSourceConnector
这是一个全新的虚拟机,运行通过 Debian apt 软件包安装的最新 Confluent Platform 3.2.0。我可以看到它肯定正在运行 CP 3.2.0。为什么 S3 连接器类不可用?
不确定这是否相关,但如果我这样做:
ls -l /etc/ | grep kafka
drwxr-xr-x 2 root root 4096 Apr 5 04:41 kafka
drwxr-xr-x 2 root root 4096 Apr 5 04:39 kafka-connect-elasticsearch
drwxr-xr-x 2 root root 4096 Apr 5 04:39 kafka-connect-hdfs
drwxr-xr-x 2 root root 4096 Apr 5 04:39 kafka-connect-jdbc
drwxr-xr-x 2 root root 4096 Apr 5 04:39 kafka-rest
文档引用了一个 kafka-connect-s3 目录,该目录在安装中显然不存在。
我使用的是 Confluent Platform 的开源变体,但根据 https://www.confluent.io/product/compare/,开源版本包括 Confluent Amazon S3 Connect 连接器。
这是 3.2.0 中的打包错误,并在最新的 Confluent 版本中修复,截至今天(2017 年 5 月 17 日)为 3.2.1
3.2.1 版本中的 S3 连接器还有一个错误修复,因此最好还是使用该版本。
作为一种解决方法,您可以从 http://confluent.io 下载 zip 或 tar 版本
从那里,您可以在etc
和share/java
目录中找到kafka-connect-s3
。