Ubuntu 上的“mongod 有线老虎”?

efk*_*kan 5 mongodb wiredtiger

我不能wiredTiger用作MongoDB.

我遵循了这个分步指南;
http://docs.mongodb.org/manual/release-notes/3.0-upgrade/

第 1 步:启动 3.0 mongod。好的,我做到了。
步骤 2:使用 mongodump 导出数据。OK
Step-3:为WiredTiger创建数据目录。OK - 用户权限已调整。
第 4 步:使用 WiredTiger 重新启动 mongod。好的

mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>
是的,mongod工作了。但是Step-5说“使用mongorestore上传导出的数据”。但是,我的控制台仍然很忙,并显示“正在等待端口 27017 上的连接”,因为最后一个命令不包括像service mongod start.

然后我尝试编辑我的/etc/mongod.conf文件以作为服务运行。但我不能。我添加了wiredTiger 目录作为dbpath,但我想我需要编辑/etc/init/mongod.conf文件,因为它包含一些更改db 目录权限的代码。

花了8个小时后,我认为没有足够的文档可以提供帮助,所以我想问一下;
我应该怎么做才能在 MongoDB 中使用wiredTiger?
我想知道是否有人设法实现了这一目标?

安慰 在此处输入图片说明

2015年 4 月 1 日编辑: 我尝试了文档中的change-storage-engine-to-wiredtiger部分。

efk*_*kan 3

我无法使用wiredTiger 升级MongoDB。但是,May 17我卸载了 MongoDB 2.6 然后安装了 MongoDB 3.0.3 。安装后,我立即将其添加到storageEngine=wiredTigermongod.conf 文件的顶部。然后我发出sudo service mongod start命令,最终我可以了。


编辑:

按照官方文档的指示进行全新安装;

  1. 使用打开配置文件sudo nano /etc/mongod.conf
  2. 将行更改# engineengine: wiredTiger如下所示
  3. 使用命令运行 mongodsudo service mongod start

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  engine: wiredTiger
#  mmapv1:
#  wiredTiger:
Run Code Online (Sandbox Code Playgroud)

编辑:

如果当前版本支持wiredTiger;

  1. 使用mongodump获取当前数据库的备份命令
  2. 使用停止 mongod 服务sudo service mongod stop使用命令
  3. 添加storageEngine=wiredTiger文本作为第一行mongod.conf文本作为文件
  4. 删除所有文件/var/lib/mongodb(或/data/db文件夹,如果使用的话)
    [这很重要。因为MongoDB无法将当前的MMAP db文件转换为wiredTiger格式]
  5. sudo service mongod start使用命令启动mongod服务
  6. 使用 [mongorestore][2] 命令从备份恢复数据库
  7. 正在使用wiredTiger...