Kafka-Connect将SQL JAR文件添加到classpath

时间:2018-05-29 04:12:28

标签: java apache-kafka apache-kafka-connect

我正在尝试部署一个connect-standalone作业来从mssql服务器流,但是我遇到了一个问题(Kafka-Connect是我的Ambari部署的一部分,而不是docker)。这是我正在使用的属性文件:

name=JdbcSourceConnector
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
connection.user=ue
connection.password=pw
tasks.max=1
connection.url=jdbc:sqlserver://servername
topic.prefix=iblog
query=SELECT * FROM IB_WEBLOG_DUMMY_small
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter=org.apache.kafka.connect.json.JsonConverter
poll.interval.ms=5000
table.poll.interval.ms=120000
mode=incrementing
incrementing.column.name=ID

我已将jar个文件sqljdbc42.jar添加到/usr/share/java 并运行export CLASSPATH=/usr/share/java/*

但是我仍然遇到错误Failed to find any class that implements Connector and which name matches io.confluent.connect.jdbc.JdbcSourceConnector

我做错了什么或者我可以检查别的吗?

4 个答案:

答案 0 :(得分:1)

您需要包含kafka-connect-jdbc jar文件,其中包含io.confluent.connect.jdbc.JdbcSourceConnector类。

如果您使用的是maven,则可以将其添加为依赖项:

  

[如果您还没有这样做,请将以下回购添加到您的项目中。]

<repository>
  <id>confluent</id>
  <url>http://packages.confluent.io/maven/</url>
</repository>
     

在此之后,添加以下依赖项:

<dependency>
    <groupId>io.confluent</groupId>
    <artifactId>kafka-connect-jdbc</artifactId>  
    <version>3.3.0 (or whatever version you want)</version>
</dependency>

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

答案 1 :(得分:1)

  

Kafka-Connect是我的Ambari部署的一部分

这意味着您正在使用Hortonworks安装

你需要

  1. return nbsF.sort().pop()
  2. 签出一个理想情况下与您的Kafka版本匹配的发布分支。例如,分支git clone https://github.com/confluentinc/kafka-connect-jdbc/Kafka 0.10.1.1
  3. v3.1.2会在该项目的mvn clean package中生成一些文件夹
  4. 将这些文件发送给集群中的所有Kafka Connect工作人员target/(创建此文件,如果不存在)
  5. 重新启动Kafka进程以获取新的CLASSPATH设置
  6. 您可能需要一些JDBC连接的额外Confluent包依赖于

答案 2 :(得分:1)

我也有同样的问题。找不到Couchbase连接器

错误连接器错误后停止(org.apache.kafka.connect.cli.ConnectStandalone:113)java.util.concurrent.ExecutionException:org.apache.kafka.connect.errors.ConnectException:找不到任何实现Connector且名称与com.couchbase.connect.kafka.CouchbaseSourceConnector匹配的类

设置classpath丢失了现有的classpath,我无法追加为classpath 我将所需的jar文件从kafka-connect-couchase / *。jar文件移到了/ path / kafka_verison / libs / libs是存储所有jar文件的文件夹。

答案 3 :(得分:0)

我遇到了同样的问题,我通过在confluent的根文件夹中运行connect-standalone解决了这个问题,在我的情况下,这是:/opt/confluent-5.0.1