无法在 Ubuntu 上启动 MongoDB

无法在 Ubuntu 上启动 MongoDB

我最近将 Ubuntu 14 服务器升级到 16,现在无法启动 MongoDB 服务。

我正在使用 MongoDB 3.4,来自 Mongo 的 Xenial PPAhttp://repo.mongodb.org/apt/ubuntuxenial/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:'

答案1

根据参考文档,存储部分应该是这样的:

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 是否仍在使用您的配置文件。

相关内容