【问题标题】:Kafka-Connect add SQL JAR file to classpathKafka-Connect 将 SQL JAR 文件添加到类路径
【发布时间】:2018-11-07 15:03:43
【问题描述】:

我正在尝试部署一个独立连接作业以从 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

我做错了什么还是我可以检查其他东西?

【问题讨论】:

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


    【解决方案1】:

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

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

    设置类路径正在丢失现有的类路径,我无法附加为类路径 我将所需的 jar 文件从 kafka-connect-couchase/*.jar 文件移动到 /path/kafka_verison/libs/ libs 是存储所有 jar 文件的文件夹。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        你需要

        1. git clone https://github.com/confluentinc/kafka-connect-jdbc/
        2. 签出与您的 Kafka 版本完美匹配的发布分支。例如分支v3.1.2Kafka 0.10.1.1
        3. mvn clean package 将在该项目的target/ 中生成一些文件夹
        4. 将这些文件SCP到您集群中的所有Kafka Connect工作人员到/usr/hdp/current/kafka/.../share/java/kafka-connect-jdbc(创建这个,如果不存在)
        5. 重新启动 Kafka 进程以获取新的 CLASSPATH 设置

        你可能需要一些额外的 JDBC 连接依赖的 Confluent 包

        【讨论】:

          【解决方案4】:

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

          如果你使用的是maven,你可以将它添加为依赖:

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

          <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

          【讨论】:

          • 所以我只需要使用intellij,将这些添加到pom.xml,然后将jar部署到usr/share/java?
          • 您引用的是如何构建项目,而不是如何部署它。换句话说,没有其他项目可以“添加依赖”到
          猜你喜欢
          • 2018-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-28
          • 1970-01-01
          • 2015-09-27
          • 2021-04-22
          • 2020-10-08
          相关资源
          最近更新 更多