Назад | Перейти на главную страницу

Невозможно запустить MongoDB в Ubuntu

Недавно я обновил сервер Ubuntu 14 до 16, и теперь я не могу запустить службу MongoDB.

Я использую MongoDB 3.4 из Mongo Xenial PPA в http://repo.mongodb.org/apt/ubuntu xenial / mongodb-org / 3.4.

Если я бегу:

sudo rm -Rf /var/log/mongodb/*
sudo service mongodb start

а затем подождите несколько минут и в /var/log/mongodb/mongodb.log Я вижу:

2018-02-06T17:42:07.322+0000 [initandlisten] exception in initAndListen: 28574 Cannot start server. Detected data files in /var/lib/mongodb created by storage engine 'wiredTiger'. The configured storage engine is 'mmapv1'., terminating

Я предполагаю, что механизм хранения по умолчанию изменился между выпусками с «wiredTiger» на «mmapv1»? Как мне вернуть механизм хранения на «wiredTiger»?

Если я добавлю:

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  engine: wiredTiger

к моему /etc/mongod.conf, Я получаю ту же ошибку. Если я попробую добавить это в свой /etc/mongodb.conf, Я получаю сообщение об ошибке:

Error parsing INI config file: the options configuration file contains an invalid line 'storage:'

Согласно справочной документации раздел хранилища должен выглядеть так:

engine: <string>
   mmapv1:
      preallocDataFiles: <boolean>
      nsSize: <int>
      quota:
         enforced: <boolean>
         maxFilesPerDB: <int>
      smallFiles: <boolean>
      journal:
         debugFlags: <int>
         commitIntervalMs: <num>
   wiredTiger:
      engineConfig:
         cacheSizeGB: <number>
         journalCompressor: <string>
         directoryForIndexes: <boolean>
      collectionConfig:
         blockCompressor: <string>
      indexConfig:
         prefixCompression: <boolean>

Ваш предмет выглядит немного иначе. Вы можете попробовать изменить свой раздел для фрагмента ниже, чтобы проверить, запустится ли он. Эта часть работает на сервере mongo 3.4 прямо сейчас:

storage:
  dbPath: /my/data/path
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

Кроме того, если это не поможет, и вы по-прежнему получаете ошибку при разборе файла INI, вы можете проверить весь файл на соответствие справочной документации. И я предлагаю вам попытаться бежать mongodb -vvv -f /path/to/config чтобы узнать, использует ли mongodb ваш файл конфигурации.