В MongoDB 3.0 появился новый механизм хранения данных, wiredTiger
который приводит к значительному сокращению использования памяти и дискового пространства.
Поскольку моя БД в настоящее время содержит ~ 20 миллионов объектов и использует ~ 70 ГБ ОЗУ, это обновление будет сделано как раз в нужное время, чтобы отложить обновление оборудования.
Как вы переносите существующую установку MongoDB 2.6 на 3.0 и в то же время получаете преимущества wiredTiger?
Документация относится к опциям, которые приводят к ошибкам запуска, которые мешают запуску MongoDB. Кроме того, расположение файлов не совпадает с расположением в Ubuntu (Server 14.04 LTS).
Ответы:
В установках по умолчанию файл конфигурации находится в
/etc/mongod.conf
. В документации MongoDB не упоминается, что при переходе на WiredTiger нам также необходимо обновить файл конфигурации до нового формата YAML, представленного в 2.6.Насколько я могу судить,
engine
опция доступна только в новом формате конфигурации.Миграция со старого механизма хранения состоит в создании дампа базы данных, завершении работы mongodb, изменении настроек и последующем импорте дампа в новый механизм хранения.
Создайте резервную копию. Шутки в сторону. Нам нужен дамп базы данных, который мы затем импортируем в новый движок базы данных:
Остановить службу mongodb
Переместить данные из текущего местоположения в другое место (MongoDB не запустится, если каталог данных содержит файлы, созданные старым механизмом хранения).
Обновите MongoDB до версии 3.0 (с http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ ):
Преобразуйте файл конфигурации из старого (до 2.6) в текущий формат YAML. Минимум это:
Убедитесь, что в старом формате не осталось строк, иначе MongoDB не запустится.
Полная документация для файла конфигурации находится по адресу: http://docs.mongodb.org/v3.0/reference/configuration-options/
При желании сделайте резервную копию журнала:
Перезапустите mongodb
Загрузите резервную копию для преобразования данных в новый механизм хранения
После проверки, что все ваши данные в порядке, вы можете удалить каталог со старым форматом данных
Обратите внимание, что для наборов реплик и сегментированных кластеров есть несколько дополнительных шагов: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage к - движка-wiredtiger
источник
Используя старый формат файла конфигурации , я добился успеха с:
источник