代码之家  ›  专栏  ›  技术社区  ›  el323

卡夫卡连接:找不到合适的驱动程序

  •  1
  • el323  · 技术社区  · 7 年前

    我正在使用JDBC接收器连接器尝试使用Postgres接收器的Kafka。

    例外情况:

    INFO Unable to connect to database on attempt 1/3. Will retry in 10000 ms. (io.confluent.connect.jdbc.util.CachedConnectionProvider:91)
    java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/casb
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
        at java.sql.DriverManager.getConnection(DriverManager.java:247)
        at io.confluent.connect.jdbc.util.CachedConnectionProvider.newConnection(CachedConnectionProvider.java:85)
        at io.confluent.connect.jdbc.util.CachedConnectionProvider.getValidConnection(CachedConnectionProvider.java:68)
        at io.confluent.connect.jdbc.sink.JdbcDbWriter.write(JdbcDbWriter.java:56)
        at io.confluent.connect.jdbc.sink.JdbcSinkTask.put(JdbcSinkTask.java:69)
        at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:495)
        at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:288)
        at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:198)
        at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:166)
        at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:170)
        at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:214)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    

    接收器属性:

    name=test-sink
    connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
    tasks.max=1
    topics=fp_test
    connection.url=jdbc:postgresql://localhost:5432/casb
    connection.user=admin
    connection.password=***
    auto.create=true
    

    我已经准备好了 plugin.path=/usr/share/java/kafka-connect-jdbc

    打开 /Ur/Stuts/Java/卡夫卡连接JDBC 我有以下文件:

    kafka-connect-jdbc-4.0.0.jar 我是说, postgresql-9.4-1206-jdbc41.jar 我是说, sqlite-jdbc-3.8.11.2.jar 还有一些其他的罐子,基本上是和合流一起包装的。

    然后我下载了postgres jdbc驱动程序jar postgresql-42.2.2.jar ,将其复制到同一文件夹中,然后重试。仍然是同样的例外。

    请帮我解决这个问题。

    2 回复  |  直到 7 年前
        1
  •  4
  •   OneCricketeer Gabriele Mariotti    7 年前

    设置 plugin.path=/usr/share/java CLASSPATH=/usr/share/java/kafka-connect-jdbc/ 解决了这个问题。

        2
  •  0
  •   vaibhav.patil    6 年前

    我在kafka connect的分布式模式中也遇到了同样的错误。

    **使用示例 https://github.com/debezium/debezium-examples/tree/master/tutorial#using-postgres 链接 *

    步骤:

    {

    } 1个源连接器 2接收器连接器详细配置如下:

    enter image description here