MongoDB: клонирование одного сервера dev. база данных для производственного кластера сегментов - PullRequest
3 голосов
/ 09 ноября 2011

Я какое-то время играл на нашем сервере разработки для нового продукта, и теперь он вроде жив, и я хочу перенести существующие данные с одного компьютера (mongod, local) на нашу настройку с 6 сегментами сервера (по 2 фрагмента каждый 3 набора реплик) - есть ли способ клонировать БД в удаленный осколок?

(наихудший случай, простой пример дампа и вставки с ключом осколка был бы очень хорош!)

спасибо!

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Вы должны добавить свой dev-сервер в среду sharding:

  • Перезапустите свой dev-сервер с параметром --shard
  • на своих mongos: введите db.runCommand ({addhard: "имя_хоста [: порт]", имя: "миграция"});
  • используйте команду удаления осколка, чтобы удалить ваш осколок "миграция".
  • Когда это будет сделано (вы получите «удаление осколка выполнено успешно»), вы можете остановить свой сервер dev, и все ваши данные будут перенесены из dev в новый кластер

Youдля переноса не нужно расшаривать вашу базу данных, однако вам нужно это сделать, если вы хотите извлечь выгоду из расшаривания.

Преимущества этого решения в том, что у вас есть минимальное действие длявзять (все происходит автоматически) и нет времени простоя (но чем больше нагрузка, тем медленнее операция) Однако это решение медленное (медленнее, чем ручное копирование).

Еще одно преимущество по сравнению с копированием необработанных файлов: передача также сжимает (~ дефрагментирует) данные, что всегда хорошо: -)

0 голосов
/ 19 ноября 2011
  • Добавьте свой dev-сервер в набор реплик в качестве главного, а остальные 3 сервера в качестве подчиненных. Затем удалите dev-сервер, как только данные будут скопированы другими серверами.

    http://www.mongodb.org/display/DOCS/Replica+Set+Commands

  • Вы можете использовать mongodump для выгрузки базы данных, а затем загрузить db-dump с mongorestore на мастер каждого из ваших наборов реплик

    man mongodump, man mongorestore

См:

http://www.mongodb.org/display/DOCS/Replica+Set+Internals

http://www.mongodb.org/display/DOCS/Sharding+Introduction

http://www.mongodb.org/display/DOCS/Master+Slave

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...