Не удается подключиться к вторичным членам в наборе реплик

Я создал набор реплик mongodb с тремя членами. Они синхронизированы, но если я пытаюсь подключиться к дополнительным участникам через Robomongo и через веб-приложение, это не работает. Я получаю сообщение об ошибке для slaveOK установлено значение false, но я только что установил rs.slaveOk() для каждого члена набора реплик.

Если я подключаюсь через оболочку, я не получаю ошибку и могу перечислить все. Если второстепенный член становится основным, я также могу читать его через Robomongo.

Версия оболочки MongoDB: 2.6.10

вот 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
}

и здесь rs.conf()

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

Я хотел бы писать только на одном сервере и читать на всех.

Кто-нибудь может помочь?

Спасибо, Никола


person Nicola Contu    schedule 25.06.2015    source источник


Ответы (1)


В настоящее время Robomongo не может запрашивать вторичные экземпляры в наборе реплик: https://github.com/paralect/robomongo/issues/116

person vhuynh    schedule 14.08.2015
comment
Лучше включить соответствующие части ссылки в текст вашего ответа, чтобы содержимое по-прежнему присутствовало, если ссылка не работает или будет изменена в будущем. - person CubeJockey; 14.08.2015