我不能wiredTiger
用作MongoDB
.
我按照这个分步指南进行操作;
http://docs.mongodb.org/manual/release-notes/3.0-upgrade/
第 1 步:启动 3.0 mongod。好的,我做到了。
步骤 2:使用 mongodump 导出数据。OK
步骤 3:为 WiredTiger 创建数据目录。好的 - 调整了用户权限。
第 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个小时后,我认为没有足够的文档可以提供帮助,所以我想问一下;
为了能够将wiredTiger与MongoDB一起使用,我应该怎么做?
我想知道是否有人设法实现了这一目标?
安慰
2015-04-01 编辑: 我尝试了文档中的 change-storage-engine-to-wiredtiger部分。
我无法使用 WiredTiger 升级 MongoDB。但是,在
May 17
我卸载了 MongoDB 2.6 然后安装了 MongoDB 3.0.3 。安装后,我立即添加storageEngine=wiredTiger
了 mongod.conf 文件。然后我发出sudo service mongod start
命令,最终我可以了。编辑:
按照官方文档的指示进行全新安装;
sudo nano /etc/mongod.conf
# engine
将行更改为engine: wiredTiger
如下所示sudo service mongod start
.
编辑:
如果支持当前版本,wiredTiger;
sudo service mongod stop
使用命令停止 mongod 服务storageEngine=wiredTiger
文本作为mongod.conf
文件的第一行/var/lib/mongodb
(或/data/db
文件夹,如果使用)[这很重要。因为MongoDB无法将当前的MMAP db文件转换为wiredTiger格式]
sudo service mongod start
使用命令启动mongod服务在 Ubuntu 上迁移 2.6 到 3.0 并使用新的 WiredTiger 存储引擎的步骤:
备份当前数据库:
mongodump --out final_2.6_backup
停止 mongodb 服务:
service mongodb stop
删除当前数据库文件:
rm -rf /var/lib/mongodb/*
编辑 /etc/mongod.conf 以使用新的存储引擎:
storageEngine=wiredTiger
启动mongodb:
service mongodb start
恢复数据库:
mongorestore final_2.6_backup
我在分片集群中使用wiredTiger。我发现将隐藏节点滚动到每个副本集中然后将第 4 个节点与辅助节点交换更容易。
然后我: 1. 停止现在第 4 个节点上的 MongoDB 服务 2. 重新启动实例,作为服务,指向新的 dbpath 和 storageengine 选项设置为wiredTiger。3.等待节点同步。4. 删除旧的 dbpath
我重复该步骤,直到所有节点都是最新的。