У установках за замовчуванням файл конфігурації знаходиться у /etc/mongod.conf
. Документи MongoDB не згадують про те, що при переході до WiredTiger нам також потрібно оновити файл конфігурації до нового формату YAML, введеного в 2.6.
Наскільки я можу сказати, engine
опція доступна лише у новому форматі конфігурації.
Міграція зі старого механізму зберігання даних полягає у створенні дампа бази даних, вимкненні mongodb, зміні налаштувань, а потім імпорті дампа в новий механізм зберігання даних.
Створіть резервну копію. Серйозно. Нам потрібен дамп бази даних, який ми потім імпортуємо в новий двигун бази даних:
mongodump -d db_name /backup/path/
Припиніть службу mongodb
sudo service mongod stop
Перемістіть дані з поточного місця в інше місце (MongoDB не запускатиметься, якщо каталог даних містить файли, створені старими механізмами зберігання даних).
sudo mv /var/lib/mongodb /var/lib/mongodb_26/
Оновіть MongoDB до версії 3.0 (від http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ ):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
Перетворіть конфігураційний файл із старого (попередньо 2.6) у поточний формат YAML. Мінімум:
storage:
dbPath: "/var/lib/mongodb"
engine: wiredTiger
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
net:
bindIp: 127.0.0.1
port: 27017
# Enable the HTTP interface (Defaults to port 28017).
http:
enabled: false
Переконайтеся, що жодні рядки у старому форматі не залишаються, інакше MongoDB не запуститься.
Повна документація для файлу конфігурації знаходиться за адресою: http://docs.mongodb.org/v3.0/reference/configuration-options/
Необов’язково зробіть резервну копію журналу:
sudo mv /var/log/mongodb/mongod.log /var/log/mongodb/mongod_26.log
Перезапустіть mongodb
sudo service mongod start
Завантажте резервну копію для перетворення даних у новий механізм зберігання даних
mongorestore /backup/location
Перевіривши, що всі ваші дані в порядку, ви можете видалити каталог зі старим форматом даних
sudo rm -r /var/lib/mongodb_26/
Зауважте, що для наборів реплік та кладених кластерів є кілька додаткових кроків: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage -придумляти до провідника