独立模式下的SQL Server Kafka连接器未在kafka中加载数据

时间:2020-06-29 19:02:47

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

我正在使用JDBC源Kafka连接器以独立模式将数据从SQL Server转储到Kafka。我已经下载了 confluentinc-kafka-connect-jdbc-5.5.0.zip 用于JDBC连接器jar,并将所有jar复制到了 plugin.path 。我正在使用以下工作程序和连接器配置。

  • worker.peroperties

      value.converter=org.apache.kafka.connect.json.JsonConverter
      key.converter=org.apache.kafka.connect.json.JsonConverter
      bootstrap.servers=localhost:9092
      plugin.path=/home/kafka_2.12-2.5.0/connector/plugin/
      offset.storage.file.filename=file
    
  • connector1.properties

      name=test12_connector
      connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
      connection.url=jdbc:sqlserver://host;databaseName=db;
      connection.user=user
      connection.password=password
      query=SELECT TOP 100 * FROM table;
      topic.prefix=test-
      mode=bulk
    

我正在使用以下命令以独立模式运行连接器-

sh bin/connect-standalone.sh -daemon connector/worker.properties connector/connector1.properties

我正在使用最新的SQL Server JDBC驱动程序并复制到相同的插件路径。

此外,在CLASSPATH中添加了相同的 plugin.path

但是我面临的问题是它卡在了日志的下面几行,并且没有从表中的主题中产生任何数据(预期的主题:test-table)

-日志

[2020-06-29 18:41:31,402] DEBUG Dialect SqlServerDatabaseDialect scored 100 against JDBC subprotocol 'sqlserver' and source 'jdbc:sqlserver://host:1433;databaseName=db;' (io.confluent.connect.jdbc.dialect.DatabaseDialects:127)
[2020-06-29 18:41:31,402] DEBUG Dialect SqliteDatabaseDialect scored 0 against JDBC subprotocol 'sqlserver' and source 'jdbc:sqlserver://host:1433;databaseName=db;' (io.confluent.connect.jdbc.dialect.DatabaseDialects:127)
[2020-06-29 18:41:31,402] DEBUG Dialect SybaseDatabaseDialect scored 100 against JDBC subprotocol 'sqlserver' and source 'jdbc:sqlserver://host:1433;databaseName=db;' (io.confluent.connect.jdbc.dialect.DatabaseDialects:127)
[2020-06-29 18:41:31,403] DEBUG Dialect VerticaDatabaseDialect scored 0 against JDBC subprotocol 'sqlserver' and source 'jdbc:sqlserver://host:1433;databaseName=db;' (io.confluent.connect.jdbc.dialect.DatabaseDialects:127)
[2020-06-29 18:41:31,403] DEBUG Using dialect SqlServerDatabaseDialect with score 100 against JDBC subprotocol 'sqlserver' and source 'jdbc:sqlserver://host:1433;databaseName=db;' (io.confluent.connect.jdbc.dialect.DatabaseDialects:133)

它甚至没有显示任何错误日志。我已将日志级别更改为TRACE,但是连接器未显示任何错误,仅显示了上述日志。 如果我有任何遗漏,请帮助我。

1 个答案:

答案 0 :(得分:0)

我会尝试使用可能添加的连接器属性:

"tasks.max": "1",
"internal.key.converter.schemas.enable": "false",
"reporter.admin.bootstrap.servers": "localhost:9092",
"internal.value.converter.schemas.enable": "false",

似乎还挂起了与源SQL Server的连接,因此连接字符串不正确或找不到该方言的驱动程序JAR文件。 检查日志是否已加载JDBC SQL Server方言驱动程序。