Debezium 如何使用 Kafka Connect 正确注册 SqlServer 连接器 - 连接被拒绝

2023-12-13

问题:

如何使用 Kafka Connect 正确注册 SqlServer 连接器以连接到独立的 SQL Server 实例?注意:我没有在 Docker 中运行 SQL Server。

Error:

错误:由以下原因引起:com.microsoft.sqlserver.jdbc.SQLServerException: 与主机 127.0.0.1、端口 1433 的 TCP/IP 连接失败。错误: “连接被拒绝(连接被拒绝)。验证连接 特性。确保 SQL Server 实例正在运行 主机并在端口上接受 TCP/IP 连接。确保 TCP 与端口的连接未被防火墙阻止。”。

故障排除:

  1. 在 dbo.Posts 表上启用 CDC(见下文)
  2. 验证 TCP/IP 已启用,并将所有地址在 SQL Server 配置管理器的 SQL Server 网络配置中的端口 1433 上设置为启用和活动
  3. 禁用 Windows 防火墙
  4. 在 SQL Server 配置管理器中启用 SQL Server 浏览器
  5. 已验证我可以通过以下方式远程登录:(127.0.0.1 1433;localhost 1433;lt-ls231 1433)

Context:

我正在尝试使用 Docker 在 Windows 10 上设置 Debezium。我可以毫无问题地在 Powershell 中成功运行以下命令:

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

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

docker run -it --rm --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e  OFFSET_STORAGE_TOPIC=my_connect_offsets -e  STATUS_STORAGE_TOPIC=my_connect_statuses --link zookeeper:zookeeper --link kafka:kafka debezium/connect:1.1

当我尝试使用 Kafka-Connect 注册 SQL Server 连接时出现错误(见上文)connect,我运行以下命令:

Invoke-RestMethod -Method Post -Uri 'http://localhost:8083/connectors/' -Headers @{'Accept' = 'application/json'; 'Content-Type' = 'application/json'} -Body '{"name": "mssqlserver-localhost-testDb-connector",  "config": {"connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", "database.hostname": "127.0.0.1", "database.port": "1433", "database.user": "svc_kafka", "database.password": "password", "database.dbname": "Posts", "database.server.name": "LT-LS231", "table.whitelist": "dbo.Posts", "database.history.kafka.bootstrap.servers": "kafka:9092", "database.history.kafka.topic": "dbhistory.LT-LS231" }}'

JSON 格式如下:

Invoke-RestMethod -Method Post -Uri 'http://localhost:8083/connectors/' -Headers @{'Accept' = 'application/json'; 'Content-Type' = 'application/json'} -Body '

{  
    "name": "mssqlserver-localhost-testDb-connector",  
    "config": {
        "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector", 
        "database.hostname": "127.0.0.1", 
        "database.port": "1433", 
        "database.user": "svc_kafka", 
        "database.password": "password", 
        "database.dbname": "Posts", 
        "database.server.name": "LT-LS231", 
        "table.whitelist": "dbo.Posts", 
        "database.history.kafka.bootstrap.servers": "kafka:9092", 
        "database.history.kafka.topic": "dbhistory.LT-LS231" 
  }
}'

这是根据 Debezium 网站上提供的 JSON 建模的:https://debezium.io/documentation/reference/1.1/connectors/sqlserver.html#sqlserver-deploying-a-connector


问题出在对localhost。如果您在 Docker 容器中运行 Connect,则localhost是容器的本地主机而不是机器的本地主机。尝试将 SQL Server 暴露在docker0接口或所有接口然后使用docker0注册请求中的IP。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Debezium 如何使用 Kafka Connect 正确注册 SqlServer 连接器 - 连接被拒绝 的相关文章

随机推荐

  • VStack 有最大限制吗?

    我从一个干净的项目开始 在 VStack 中添加了 5 个按钮和 5 个垫片 一切都很好 当我在底部添加第 6 个间隔符时 代码突然无法编译 并出现错误 对成员 buildBlock 的引用不明确 是什么导致了这个错误 这是与 SwiftU
  • PairRDD 的总和值

    我有一个 RDD 类型 dataset org apache spark rdd RDD String Double MapPartitionRDD 26 这相当于 Pedro 0 0833 Hello 0 001828 我想总结所有的价值
  • 触发系统音量条

    是否可以通过按我的按钮Activity让音量条出现 音量条是当您按下硬件音量按钮之一时出现的视图 是否有 API 函数可以执行此操作 或者我是否必须手动重新创建该视图 如果调用 setStreamVolume 请传递标志 FLAG SHOW
  • 无法在 UserControl 上设置 x:Name="Root"

    我尝试将 x Name 属性设置为 UserControl 的定义 以便稍后将其用于内部绑定
  • Spark:线程“主”java.lang.ClassNotFoundException中的异常:com.mysql.jdbc.Driver

    我在 Spark 中编写了简单的程序 将数据帧写入 mySql 中的表 程序如下 import org apache spark SparkConf import org apache spark SparkContext import o
  • Sparql查询:查找具有相同属性对象的对象

    假设我们有一个如下所示的数据集 person wantsCD cd1 wantsCD cd2 storeA sellsCD cd1 sellsCD cd2 sellsCD cd3 storeB sellsCD cd1 sellsCD cd1
  • Cucumber:如何从外部 Excel 文件中读取场景大纲的示例

    我的要求是从外部 Excel 文件读取示例 而不是将其硬编码到功能文件中 我有 100 多个示例 这些示例很难在功能文件中维护 你能帮我解决这个问题吗 这是我的场景 Scenario Outline Browser Test When I
  • MinGW编译“文件无法识别:文件格式无法识别”

    我正在尝试编译 C 程序 但遇到一些问题 特别是 当我使用 x86 64 w64 mingw32 gcc 作为编译器时 它在编译过程中抱怨说 tmp src libfastms solver solver cpp o 文件无法识别 文件格式
  • 如何使用 Wordpress walkers 显示父菜单项的描述?

    有什么方法可以将变量从 start el 传递到 start lvl 吗 我想将菜单描述放在子菜单项的包装中 class submenu walker extends Walker Nav Menu function start lvl o
  • .exe 图标没有改变 [py2exe]

    我的图标文件 myicon ico 与 setup py 位于同一目录中 当我运行 py2exe 时 myproject exe 没有图标 我寻找解决方案但找不到 setup py代码是 from distutils core import
  • Spring,Jquery 中基于表单标签的日期选择器?

    实际上在我的 Spring 应用程序中我使用的是基于 spring 的form我的 jsp 代码中的标记 并为此添加功能
  • 如何将 numpy.linalg.norm 应用于矩阵的每一行?

    我有一个二维矩阵 我想取每一行的范数 但是当我使用numpy linalg norm X 直接取整个矩阵的范数 我可以通过使用 for 循环来获取每一行的范数 然后获取每一行的范数X i 但这需要很长时间 因为我有 30k 行 有什么建议可
  • 增强 MediaWiki 搜索

    我只是想知道是否可以增强 MediaWiki 中的搜索功能 例如返回最接近搜索键的建议结果集 而不是返回 0 个结果页面 例如 我创建了 ff 文章 Guidelines to Database Management Guidelines
  • 在 VS Code 中使用 C/C++,如何在符号的工具提示描述中创建列表和表格?

    我正在使用 VS Code 用 C 语言进行编程 C C 扩展使您能够创建描述 文档 并在将鼠标悬停在符号上时显示它 brief General control register param b15 Reserved param b14 D
  • 在哪里订阅内部对象的事件?

    我经常遇到这样的情况 我必须决定在哪里订阅内部对象的事件 例如 我有一个如下所示的对象模型 class ClassA public event EventHandler SomeEvent1 public event EventHandle
  • 在 IE/Edge 上单击 LinkedIn 共享按钮时出错

    我在我的 ReactJS 应用程序中使用以下 LinkedIn 共享插件 来自 LinkedIn 文档 https learn microsoft com en us linkedin consumer integrations self
  • strcpy 与 strdup

    我读到了strcpy用于复制字符串 并且strdup返回指向新字符串的指针以复制该字符串 您能解释一下您更喜欢使用哪些案例吗strcpy您更喜欢使用哪些案例strdup strcpy ptr2 ptr1 相当于while ptr2 ptr1
  • 通过 linq 从表中选择两列

    我使用下面的查询来获取 Entity Framework Linq 中的所有列 20 多个 由于内存不足异常 我只想获取其中两个 一个是 文件名 另一个是 文件路径 如何修改我的代码 var query DBContext Table1 W
  • 按月在 xts 中滚动计算

    我熟悉zoo功能rollapply它允许您进行滚动计算zoo or xts对象 您可以通过指定滚动增量by范围 我特别感兴趣的是每月应用一个函数 但在计算中使用过去的所有每日数据 例如 假设我的数据集如下所示 dte val 1 01 20
  • Debezium 如何使用 Kafka Connect 正确注册 SqlServer 连接器 - 连接被拒绝

    问题 如何使用 Kafka Connect 正确注册 SqlServer 连接器以连接到独立的 SQL Server 实例 注意 我没有在 Docker 中运行 SQL Server Error 错误 由以下原因引起 com microso