简体   繁体   English

无法连接到副本集中的辅助成员

[英]Can't connect to secondary members in a replica Set

I've created a mongodb replica set with 3 members. 我创建了一个包含3个成员的mongodb副本集。 They are synchronized, but if I try to connect to secondary members via Robomongo and via webapp it does not work. 它们是同步的,但是如果我尝试通过Robomongo和webapp连接到次要成员,则无法正常工作。 I get the error for the slaveOK is set to false, but I've just set rs.slaveOk() to each member of the replica set. 我收到将slaveOK设置为false的错误,但我只是将rs.slaveOk()设置为副本集的每个成员。

If I connect via shell I do not get the error and I can list everything. 如果我通过外壳连接,则不会收到该错误,并且可以列出所有内容。 If a secondary member becomes primary I can read from it also via Robomongo. 如果次要成员成为主要成员,我也可以通过Robomongo对其进行阅读。

MongoDB shell version: 2.6.10 MongoDB Shell版本:2.6.10

here is the rs.status() 这是rs.status()

rs:PRIMARY> rs.status()
{
    "set" : "gmrrs",
    "date" : ISODate("2015-06-25T16:14:53Z"),
    "myState" : 1,
    "members" : [
        {
            "_id" : 0,
            "name" : "****",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 2014,
            "optime" : Timestamp(1435246594, 1208),
            "optimeDate" : ISODate("2015-06-25T15:36:34Z"),
            "electionTime" : Timestamp(1435248124, 1),
            "electionDate" : ISODate("2015-06-25T16:02:04Z"),
            "self" : true
        },
        {
            "_id" : 1,
            "name" : "***:27019",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 774,
            "optime" : Timestamp(1435246594, 1208),
            "optimeDate" : ISODate("2015-06-25T15:36:34Z"),
            "lastHeartbeat" : ISODate("2015-06-25T16:14:52Z"),
            "lastHeartbeatRecv" : ISODate("2015-06-25T16:14:52Z"),
            "pingMs" : 0,
            "syncingTo" : "****:27018"
        },
        {
            "_id" : 2,
            "name" : "****:27020",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 759,
            "optime" : Timestamp(1435246594, 1208),
            "optimeDate" : ISODate("2015-06-25T15:36:34Z"),
            "lastHeartbeat" : ISODate("2015-06-25T16:14:51Z"),
            "lastHeartbeatRecv" : ISODate("2015-06-25T16:14:51Z"),
            "pingMs" : 1,
            "syncingTo" : "***:27018"
        }
    ],
    "ok" : 1
}

and here the rs.conf() 这里是rs.conf()

 rs:PRIMARY> rs.conf()
{
    "_id" : "rs",
    "version" : 3,
    "members" : [
        {
            "_id" : 0,
            "host" : "***:27018"
        },
        {
            "_id" : 1,
            "host" : "***:27019"
        },
        {
            "_id" : 2,
            "host" : "***:27020"
        }
    ]
}

I would like to write on just one server and read to all of them. 我只想在一台服务器上写所有的内容。

Can anyone help? 有人可以帮忙吗?

Thanks, Nicola 谢谢,尼古拉

Robomongo当前无法在副本集中查询辅助实例: https : //github.com/paralect/robomongo/issues/116

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM