当前位置: 首页 > 知识库问答 >
问题:

SQL Server的Debezium连接器-连接被拒绝

长孙文栋
2023-03-14

我想使用Kafka发布MSSQL CDC事件。

我将Docker容器用于:

    null
docker run -it --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium/zookeeper

docker run -it --name kafka -p 9092:9092 --link zookeeper:zookeeper debezium/kafka

docker run -it --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my-connect-configs -e OFFSET_STORAGE_TOPIC=my-connect-offsets -e ADVERTISED_HOST_NAME="localhost" --link zookeeper:zookeeper --link kafka:kafka debezium/connect

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=xxxxxxxxxxxxx" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu

所有容器开始成功运行。

然后我在SQL Server容器中创建了新的MSSQL数据库。在新数据库中创建了1个表,并为该表打开了CDC。疾控中心运作良好。

然后我将下面的连接器配置发送到Kafka Connect REST API,如下所示:

curl -X POST -H "Content-Type: application/json" -d @test-mssql-connector.json http://localhost:8083/connectors
{
  "name": "test-mssql-connector5",  
  "config": {
    "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", 
    "database.hostname": "localhost", 
    "database.port": "1433", 
    "database.user": "SA",
    "database.password": "xxxxxxxxxxxxx",
    "database.dbname": "test",
    "database.server.name": "sql1", 
    "table.whitelist": "dbo.Persons", 
    "database.history.kafka.bootstrap.servers": "kafka:9092", 
    "database.history.kafka.topic": "dbhistory.sql1" 
  }
}

com.microsoft.sqlserver.jdbc.sqlserverexception:到主机localhost端口1433的TCP/IP连接失败。错误:\“连接被拒绝。请验证连接属性。确保主机上正在运行SQL Server实例,并接受端口上的TCP/IP连接。确保到端口的TCP连接没有被防火墙阻止。

大多数故障排除是在数据库实际运行或端口被阻塞的情况下进行的,但新的MSSQL DB没有问题。它的容器是活动的,并且db成功运行。端口未被阻止。我可以通过以下配置使用DbVisualizer或其他查询工具从主机成功连接到它:

  • 数据库服务器=本地主机
  • 数据库端口=1433
  • 用户=sa
  • PW=XXXXXXXXXXXXX
  • 数据库名称=测试

我可以成功地使用telnet localhost1433连接到服务器。

上面的连接器配置是不是缺少了什么?

共有1个答案

徐峰
2023-03-14

因此,localhost不正确,因为localhost是Connect容器和SQL Server容器中的其他内容。您应该将数据库容器链接到Connect container并使用适当的主机名。

 类似资料:
  • 问题内容: 题: 如何在Kafka Connect中正确注册SqlServer连接器以连接到独立的SQL Server实例?注意:我不在Docker中运行SQL Server。 错误: 错误:由以下原因引起:com.microsoft.sqlserver.jdbc.SQLServerException:到主机127.0.0.1的TCP / IP连接,端口1433失败。错误:“连接被拒绝(连接被拒绝

  • 问题: 如何使用Kafka Connect正确注册SqlServer连接器,以连接到独立的SqlServer实例?注意:我没有在Docker中运行SQL Server。 错误: 错误:由以下原因引起:com.microsoft.sqlserver.jdbc.SQLServer异常:到主机127.0.0.1端口1433的TCP/IP连接失败。错误:"连接拒绝(连接拒绝)。请验证连接属性。请确保SQL

  • 试图在localhost中建立从app容器到mysql容器的连接,出现连接拒绝异常 我们正在采取一种docker的方法来调用rest api服务来采用微服务的方法。我们正在建立应用程序容器和mysql容器之间的连接,同时我们编写了一个docker-compose文件,创建了mysql容器和应用程序容器,为这两个容器公开了端口。下面是运行docker-compose文件docker-compose

  • 我正在尝试运行卡桑德拉,但每次它在连接时都会给出相同的错误...有什么我需要在配置文件或属性文件中编辑的吗? ('无法连接到任何服务器',{'127.0.0.1:9042 ':错误(61,"尝试连接到[('127.0.0.1 ',9042)]。最后一个错误:连接被拒绝")}) 启动cassandra时出错

  • 我试图通过Jedis客户端连接到redis服务器,但在连接时我得到了以下异常和堆栈跟踪- redisconnectionFailureException:无法获得Jedis连接;嵌套异常是redis.clients.jedis.exceptions.jedisconnectionException:无法从位于org.springframework.data.redis.connection.jed

  • 问题内容: 我是 HBase 和 Hadoop的 新手。我已经完全设置了HBase并完美启动。现在,当我尝试使用Java客户端从 p1 连接到HBase(HBase安装在 p2上 )时,它抛出了一个奇怪的异常。 问题答案: 我找到了解决方案。 通过仅从我的 主机中 删除 localhost 条目。现在我的本地主机条目就像 192.169.19.50 [这是我的hbase IP] =本地主机,而不是