【问题标题】:Kafka Messages are not getting inserted in databaseKafka 消息未插入数据库
【发布时间】:2020-12-01 09:36:06
【问题描述】:

Kafka 消息没有插入到 postgresql 数据库中。我可以看到消费者中的消息,但它没有被插入到表中。任何建议都会有所帮助。

Sink_connect.properties

connection.url=jdbc:postgresql://localhost:5432/postgres
user=postgres
password=xxxxxx
insert.mode=insert
table.name.format=kafka_sink_pg
pk.mode=none
pk.fields=none
auto.create=true

制作人

kafka-avro-console-producer  --broker-list localhost:9092 --topic Kafka_pg  --property value.schema='{"type":"record","name":"kafka_sink_pg","fields":[{"name":"serial_no","type":"int"},{"name":"technology", "type": "string"}, {"name":"platform", "type": "string"}]}'

消息

 {"serial_no": 1, "technology": "ETL", "platform": "Informatica"}
 {"serial_no": 2, "technology": "ETL", "platform": "Talend"}

以下是日志文件中的错误信息,

[2020-08-12 03:50:09,940] INFO Kafka Connect started (org.apache.kafka.connect.runtime.Connect:57)
[2020-08-12 03:50:09,943] ERROR Failed to create job for ../config/sink-quickstart-Postgres.properties (org.apache.kafka.connect.cli.ConnectStandalone:110)
[2020-08-12 03:50:09,952] ERROR Stopping after connector error (org.apache.kafka.connect.cli.ConnectStandalone:121)
java.util.concurrent.ExecutionException: org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches io.confluent.connect.jdbc.JdbcSinkConnector

【问题讨论】:

  • 您可以发布来自 Kafka Connect 工作人员的日志吗?
  • 你真的跑connect-standalone了吗?
  • 是的,我执行了独立连接
  • 在连接字符串中你有jdbc:spostgresqlspostresql 有效吗?我之前没看到过
  • 问题中的jdbc:postgresql 拼写错误

标签: postgresql jdbc apache-kafka apache-kafka-connect


【解决方案1】:

错误是因为插件路径无法识别位置的 jdbc 驱动程序。 通过在connect-avro-standalone.properties 文件中提供插件的完整路径解决了该问题

初始

plugin.path=share/java

改为

plugin.path=/usr/kafka/share/java  #Provided the complete path 

【讨论】:

    猜你喜欢
    • 2013-03-22
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    相关资源
    最近更新 更多