【问题标题】:MongoDB Connector for BI using compose.io使用 compose.io 的 BI MongoDB 连接器
【发布时间】:2019-05-23 10:33:59
【问题描述】:
我正在尝试在我的云实例上使用 MongoDB Connector for BI,该云实例在 compose.io 上运行。这是我使用的命令:
./mongosqld --mongo-uri mongodb://%host%:%port% --mongo-username %myuser% --mongo-password %mypassword% --auth --mongo-authenticationSource=admin --mongo-ssl
连接已建立,但我总是收到此错误消息:
[schemaDiscovery] 无法初始化架构:没有可用的服务器:服务器选择失败:超出上下文截止日期
有什么想法吗?
【问题讨论】:
-
首先验证您是否可以通过实例中的mongo shell 等简单的方式实际连接。对于大多数基于 unix 的发行版,有一个单独的 mongodb-org-shell 软件包,您无需在实例上安装整个数据库即可安装。该消息本质上是在告诉您无法联系到服务器,因此这是您需要诊断的第一个问题。
标签:
mongodb
tableau-api
compose-db
【解决方案1】:
如果您在 mongosqld 本身遇到此问题,请尝试将“/?connect=direct”添加到 URI,即“mongosqld --mongo-uri”mongodb://您的 MONGODB 的 IP 地址 /?connect=direct"。我有一个副本集 1 并遇到了那个错误。
【解决方案2】:
我最近遇到了类似的问题,尽管错误略有不同。我的错误与 unable to initialize schema 相同,但这是一个身份验证问题
unable to initialize schema: unable to authenticate conversation 0: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.
答案是确保将您的用户添加到admin 集合中,因为authSource 默认为admin。或者,您可以通过添加此标志 --mongo-authenticationSource 并将其更改为拥有该用户的数据库来更改它查找用户的位置。
mongosqld --mongo-uri mongodb://%host%:%port% --mongo-username %myuser% --mongo-password %mypassword% --auth --mongo-authenticationSource=<SOMETHING OTHER THAN ADMIN HERE> --mongo-ssl
--mongo-authenticationSource <auth-db-name>