Как заменить узел в наборе затененных реплик?

Я получил осколочную установку mongodb с двумя наборами реплик:

mongos> db.runCommand( { listShards : 1 } )
{
    "shards" : [
        {
            "_id" : "rs01",
            "host" : "rs01/10.133.250.140:27017,10.133.250.154:27017"
        },
        {
            "_id" : "rs02",
            "host" : "rs02/10.133.242.7:27017,10.133.242.8:27017"
        }
    ],
    "ok" : 1
}

Узел 10.133.250.140 просто вышел из строя, и я заменил его другим (ip-адрес изменился). Переконфигурировать набор реплик было довольно просто, просто rs.remove() и rs.add() Теперь мне нужно обновить конфигурацию хоста для shard rs01. Как правильно это сделать?

2 ответа

Решение

Много раз вам нужно будет изменить строку хоста для шарда. Самый простой способ изменить строку хоста - запустить операцию обновления.

Подключитесь к Монго и сделайте это -

> use config
> db.shards.update({ "_id" : "rs01"},{$set : { "host" : "rs01/newip:27017,anothernewip:27017"} })

Возможно, вам придется перезапустить все монго.

Надеюсь это поможет:-)

Что ж, удаление проблемного осколка и добавление его снова кажется единственным вариантом.

Другие вопросы по тегам