在docker中远程连接Mongodb Bi-connector

在docker中远程连接Mongodb Bi-connector

我最近安装了 mongodb Bi-connector,以便使用 Tableau 可视化我的数据。我使用 debian 映像成功将其安装在 docker 容器中。连接器成功访问了我的远程 mongo 实例并生成了正确的架构。

我尝试连接到我的容器并安装了一个 mysql 客户端来检查连接器是否正常工作,结果一切正常: 结果

但是当我退出容器并从主机上尝试时,我得到的是(我将 3307 容器的端口映射到我的 9015 主机端口)

$ mysql --host localhost --protocol tcp --port 9015 ERROR 2013 (HY000):“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:2

我尝试使用不同的 mysql 客户端版本,尝试映射不同的端口,尝试使用 127.0.0.1 而不是 localhost,但都没有用。

所以我想知道,连接器是否必须与 mysql 客户端或 tableau 位于同一台机器上?

答案1

好吧,我找到问题了。现在一切都很顺利!

事实证明,当在容器中时,mongodrdl 可执行文件需要将 --addr 选项设置为容器的主机名作为容器名称(不适用于 localhost 或 127.0.0.1)如下所示:

/usr/local/bin/mongosqld --addr mongo-bi-connector:3307 --schema schema.drdl --mongo-uri $MONGO_URI

我已经在 github 上发布了我的源代码,并在 docker hub 上发布了一个 docker 镜像。

https://github.com/emmanuelvisage/docker-mongo-bi-connector https://hub.docker.com/r/visage/mongo-bi-connector/

我也添加了身份验证支持

请记住,这包括许可内容并且需要 Mongodb 企业许可证。

不客气 !

相关内容