注意
Replica sets可以有多个成员使用不同的存储引擎,因此你可以使用一种滚动的方式来更新Replica set成员使用WiredTiger存储引擎,在改变所有的成员使用WiredTiger存储引擎之前,推荐你是用混合存储引擎一段时间,但是性能可能会根据工作负载而定。
1.关闭次要成员
在mongo内核,关闭你希望更新的mongod实例
db.shutdownServer
() 2.为使用WiredTiger存储引擎的mongd实例指定一个新的数据目录,mongod实例必须对这个目录有读和写的权限;你既可以删除已经停止的mongod实例的目录中的数据也可以创建一个新的目录;mongod实例使用WiredTiger存储引擎将不会启动使用其他存储引擎生成的数据文件,否则的话mongod实例将不会启动
3.使用WiredTiger存储引擎启动mongod
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --replSet <replSetName> 由于没有数据存在--dbpath指定的目录下,mongod将进行同步初始化,同步初始化的时长将会根据数据库的大小以及复制集之间的网络连接情况。
4.重复上面的操作就可以将整个复制集的存储引擎跟换为WiredTiger存储引擎