MongoDB - Добавление новых серверов конфигурации в производство - PullRequest
2 голосов
/ 12 августа 2011

Я проводил некоторые тесты с mongodb и sharding, и в какой-то момент я попытался добавить новые серверы конфигурации в мой маршрутизатор mongos (в то время я играл только с одним сервером конфигурации).Но я не смог найти никакой информации о том, как это сделать.

Кто-нибудь пытался сделать такую ​​вещь?

Ответы [ 3 ]

5 голосов
/ 17 апреля 2012

К сожалению, вам потребуется отключить всю систему.

Завершение работы всех процессов (mongod, mongos, config server).

Скопируйте подкаталоги данных (дерево dbpath) с сервера конфигурации на новые серверы конфигурации.

Запустите серверы конфигурации.

Перезапустите процессы mongos с новым параметром --configdb.

Перезапустить процессы Mongod.

От: http://www.mongodb.org/display/DOCS/Changing+Config+Servers

2 голосов
/ 26 марта 2013

Использовать DNS CNAMES

Обязательно используйте записи DNS или, по крайней мере, записи / etc / hosts для всех серверов конфигурации mongod и mongo, когда вы настраиваете несколько серверов конфигурации в /etc/mongos.conf, когда вы настраиваете наборы реплик и / или Sharding.

например. распространенной ошибкой в ​​AWS является использование только частного DNS-имени экземпляров EC2, но они могут меняться со временем ... и когда это произойдет, вам придется завершить работу всей системы mongodb, что может быть чрезвычайно болезненно, если он в производстве.

1 голос
/ 17 августа 2011

Образцы Configure Sharding и Образец сеанса конфигурации страницы, кажется, имеют то, что вы ищете.

Вы должны иметь 1 или 3 сервера конфигурации;все остальное будет работать не так, как ожидалось.

Вам необходимо выгрузить и восстановить содержимое с вашего исходного сервера конфигурации на 2 новых сервера конфигурации, прежде чем добавлять их в --configdb mongos.

Соответствующий раздел:

Теперь вам нужен сервер конфигурации и mongos:

`$ mkdir / data / db / config

$ ./mongod --configsvr --dbpath / data / db / config --port 20000> /tmp/configdb.log &

$ cat /tmp/configdb.log

$./ mongos --configdb localhost: 20000> /tmp/mongos.log &

$ cat /tmp/mongos.log `

mongos не требует каталог данных, он получает информацию отсервер конфигурации.

...