我想使用Kafka发布MSSQL CDC事件。
我将Docker容器用于:
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或其他查询工具从主机成功连接到它:
我可以成功地使用telnet localhost1433连接到服务器。
上面的连接器配置是不是缺少了什么?
因此,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] =本地主机,而不是