You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:MongoDB Kafka Sink Connector连接Docker部署的MongoDB失败

问题解决步骤

1. 修正Docker网络层面的连接地址问题

你的MongoDB运行在Docker容器中,如果Kafka Connect同样是容器部署的话,localhost:64000对Connect容器来说指向的是容器自身,而非宿主机,这是导致连接失败的核心原因之一:

  • 若Kafka Connect和MongoDB在同一个Docker网络:将connection.uri修改为 mongodb://mongodb:27017(mongodb是你的MongoDB容器名,使用容器内部端口27017而非宿主机映射的64000)
  • 若Connect在宿主机运行:保留mongodb://localhost:64000,但需确认Connect进程能正常访问宿主机的64000端口
  • 通用兼容方案:用宿主机的实际局域网IP替换localhost,例如mongodb://192.168.1.100:64000(替换为你的宿主机真实IP)

2. 验证MongoDB Kafka连接器是否正确安装

执行以下命令查看Kafka Connect已加载的插件列表:

curl http://localhost:8083/connector-plugins

检查返回结果中是否包含com.mongodb.kafka.connect.MongoSinkConnector。如果没有,说明插件未正确部署:

  • 下载与你的Kafka、MongoDB版本兼容的MongoDB Kafka Connector jar包
  • 将jar包放置到Kafka Connect的插件目录(默认路径如/usr/share/java/kafka-connect-mongodb/,Docker部署需挂载该目录或修改镜像添加jar文件)

3. 修正配置中的拼写错误

你的连接器配置里collection字段存在拼写错误:collecitonTest2 → collectionTest2,虽然这不是当前连接错误的直接原因,但会导致后续数据无法写入目标集合。

4. 测试连接连通性

在Kafka Connect所在环境直接验证MongoDB连接:

  • 宿主机环境:执行mongosh mongodb://localhost:64000,确认能正常连接并访问数据库
  • Docker容器环境:进入Connect容器,执行mongosh mongodb://mongodb:27017(或宿主机IP:64000),验证网络连通性

内容的提问来源于stack exchange,提问作者kfh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:15:51