无法使用Robo3T连接到Mongo副本集

时间:2020-04-02 05:41:41

标签: robo3t

我在使用RoboMongo连接到Mongo群集时遇到问题。当我在指南针中使用相同的连接字符串时,它可以工作。但是Compass Community Edition不像Robomongo那样灵活。

无法连接到副本集“ Employee UAT” [hhds6666:27027]。

在服务器端找到具有不同主机名[hhds6666.XXXXXXX.int:27027]的主服务器。请仔细检查是否使用与服务器副本集配置相同的主机名和端口。

如果同一副本集名称用于不同的副本集,则仅在Robomongo的不同实例上支持此配置。请为每个具有相同集合名称的副本集打开一个新的Robomongo实例。

原因: 在同一副本集名称“ UAT_RS”下找到了不同的成员

我经历了很多这样的链接:

https://github.com/Studio3T/robomongo/issues/1422

https://github.com/Studio3T/robomongo/issues/1345

此处是类似问题:Unable to connect to MongoDB Replica Set from other server using robo3T and in C#

4 个答案:

答案 0 :(得分:0)

第一个解决方案

尝试删除“ 副本集”名称,该方法有效

enter image description here

第二个解决方案

使用相同配置的“ hhds6666.XXXXXXX.int:27027 ”创建一个直接连接。 因为,错误状态

"A primary with different host name [hhds6666.XXXXXXX.int:27027] found in server side."

任何一种都一定可以工作

答案 1 :(得分:0)

首先,在主要mongo实例上使用rs.status()检查主要和次要主机的主机名。根据错误,主要服务器名称会有所不同,因此请按照以下步骤更改主要或次要主机的名称。

cfg = rs.conf() cfg.members [0] .host =“ mongodb0.example.net:27017” rs.reconfig(cfg)

请参阅链接https://docs.mongodb.com/manual/tutorial/change-hostnames-in-a-replica-set/

答案 2 :(得分:0)

确保您指定的集合名称(如果您这样做了)区分大小写正确。

例如:您的集合可能称为“mySet”,但您将其称为“MySet”。

答案 3 :(得分:-1)

首先,设置集合的主要和次要成员。 示例:

AWS::DirectoryService::MicrosoftAD
AWS::DirectoryService::SimpleAD
AWS::ElastiCache::ReplicationGroup
AWS::IAM::User
AWS::KinesisFirehose::DeliveryStream
AWS::OpsWorks::App
AWS::OpsWorks::Stack
AWS::OpsWorks::Stack
AWS::RDS::DBCluster
AWS::RDS::DBInstance
AWS::Redshift::Cluster

然后启用以自签名证书作为身份验证方法的SSL协议。

我还设法通过使用v 1.3使它能够工作,该版本可以使用Mongo SRV连接字符串指定conf详细信息。