简体   繁体   English

SQL 服务器连接失败 - Debezium - Kafka Connect

[英]SQL Server Connection Failure - Debezium - Kafka Connect

We're trying to set up a SQL-Server->Debezium->Kafka Connect->Kafka Pipeline setup for a few tables in an SQL-Server (mssql)我们正在尝试为 SQL-Server (mssql) 中的几个表设置SQL-Server->Debezium->Kafka Connect->Kafka Pipeline设置

Upon initiating the setup, getting the following error: Logs:启动设置后,出现以下错误: 日志:

{
  "name": "mssql-server-uat",
  "connector": {
    "state": "RUNNING",
    "worker_id": "172.17.0.3:8083"
  },
  "tasks": [
    {
      "id": 0,
      "state": "FAILED",
      "worker_id": "172.17.0.3:8083",
      "trace": <separately given below>
    }
  ],
  "type": "source"
}

trace :跟踪

org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
    at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)
    at io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource.execute(SqlServerStreamingChangeEventSource.java:267)
    at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:101)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Connection timed out (Read failed)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2892)
    at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:2031)
    at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:6418)
    at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:7579)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:590)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:522)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2935)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:248)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:223)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:444)
    at io.debezium.jdbc.JdbcConnection.prepareQueryAndMap(JdbcConnection.java:657)
    at io.debezium.connector.sqlserver.SqlServerConnection.timestampOfLsn(SqlServerConnection.java:210)
    at io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource.lambda$execute$1(SqlServerStreamingChangeEventSource.java:243)
    at io.debezium.jdbc.JdbcConnection.prepareQuery(JdbcConnection.java:525)
    at io.debezium.connector.sqlserver.SqlServerConnection.getChangesForTables(SqlServerConnection.java:172)
    at io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource.execute(SqlServerStreamingChangeEventSource.java:162)
    ... 6 more
Caused by: java.net.SocketException: Connection timed out (Read failed)
    at java.base/java.net.SocketInputStream.socketRead0(Native Method)
    at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
    at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
    at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:2023)
    ... 21 more

What could be the possible reason?可能的原因是什么? Because the sql-server is up and running normally and this is strange因为 sql-server 正常启动并运行,这很奇怪

Comment on the problem for any specific information if required如果需要,请评论问题以获取任何特定信息

EDIT: This error doesn't block the connection all the time.编辑:此错误不会一直阻止连接。 When started, the connection works, CDC events are streamed to Kafka, even read by the Kafka-Consumer we've written, but suddenly times out and the above error occurs.启动时,连接工作,CDC事件流式传输到Kafka,甚至被我们编写的Kafka-Consumer读取,但突然超时并出现上述错误。

Kafka Connect cannot connect to your SQL Server. Kafka Connect 无法连接到您的 SQL 服务器。

SQLServerException: Connection timed out

Possible reasons could be:可能的原因可能是:

  1. You've specified the wrong hostname in your connector configuration您在连接器配置中指定了错误的主机名
  2. Your networking does not allow Kafka Connect to connect to SQL Server (for example, if you are using Docker and have not configured the networking correctly)您的网络不允许 Kafka Connect 连接到 SQL 服务器(例如,如果您使用的是 Docker 并且没有正确配置网络)
  3. A firewall is blocking inbound traffic to SQL Server防火墙正在阻止到 SQL 服务器的入站流量

edit:编辑:

  1. If the error is intermittent then that suggests that perhaps SQL Server itself is timing out, so I would speak to your DBAs and ask them to take a look at the instance and machine it is running on to see if there's an indication of why a connection would be timing out.如果错误是间歇性的,那么这表明 SQL 服务器本身可能正在超时,所以我会与您的 DBA 交谈并要求他们查看它正在运行的实例和机器,看看是否有迹象表明为什么连接将超时。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 适用于 SQL Server 的 Debezium 连接器 - 连接被拒绝 - Debezium Connector for SQL Server - connection refused SQL 服务器 CDC - Debezium Kafka 特定日期的快照 - SQL Server CDC - Snapshot from specific date for Debezium Kafka 如何将 Debezium SQL Server 连接器与 ksqlDB 嵌入式连接一起使用? - How to use the Debezium SQL Server connector with ksqlDB embedded Connect? 无法将Debezium 0.9.2连接到SQL Server 2008 R2 - Can't connect Debezium 0.9.2 to a SQL Server 2008 R2 SQL 服务器的 Debezium 问题 - Debezium issue with SQL Server Debezium 如何使用 Kafka Connect 正确注册 SqlServer 连接器 - 连接被拒绝 - Debezium How do I correctly register the SqlServer connector with Kafka Connect - connection refused 用于Kakfa Connect的Debezium SQLServerConnector无法在Kafka中创建主题 - Debezium SQLServerConnector for Kakfa Connect not creating topics in Kafka 用于 SQL Server Always ON 的 Debezium 连接器 - Debezium connector for SQL Server Always ON 在 sql 服务器 2019 中设置 cdc 并注册 debezium sql 服务器连接器后运行 kafka consumer 时无法生成任何日志 - Can't produce any logs when run kafka consumer after setup cdc in sql server 2019 and register debezium sql server connector 在处理请求中无法连接到 SQL 服务器 - Getting a failure to connect to SQL Server in process request
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM