参考 > 存储 > 储存引擎 > WiredTiger存储引擎 > 将分片群集更改为WiredTiger
注意
从4.2版开始,MongoDB删除不推荐使用的MMAPv1存储引擎。从使用MMAPv1的MongoDB 4.0部署升级到MongoDB 4.2之前,必须首先升级到WiredTiger。
使用本教程将MongoDB 4.0分片群集更新为使用 WiredTiger。
对于早期版本的MongoDB:
从MongoDB 3.6开始,"majority"
默认情况下启用了WiredTiger可用的读取关注。但是,对于MongoDB 4.0.3+,如果您具有具有主要-次要仲裁器(PSA)体系结构的三成员分片副本集,则可以禁用
"majority"
对该分片副本集的读取关注。禁用"majority"
三成员PSA体系结构可避免可能的缓存压力增加。
以下过程"majority"
通过包含禁用了对MongoDB 4.0.3 PSA体系结构的读取关注
。如果您正在运行MongoDB 4.0.1或4.0.2 PSA体系结构,请首先升级到最新的4.0版本,以禁用此读取问题。--enableMajorityReadConcern false
注意
禁用"majority"
读取关注会禁用对MongoDB 4.0及更早版本的变更流的支持。对于MongoDB 4.2+,禁用读取关注"majority"
不会影响更改流的可用性。
禁用"majority"
读取关注会影响对分片群集上事务的支持
。特别:
"snapshot"
如果事务涉及已禁用读取关注“多数”的分片,则该事务不能使用读取关注。"majority"
。但是,它不影响
副本集上的事务。对于副本集上的事务,即使禁用了读取关注,也可以为多文档事务指定读取关注"majority"
(或"snapshot"
或"local"
)"majority"
。
有关PSA架构和阅读关注的更多信息
"majority"
,请参阅禁用多数阅读关注。
mongod
和开始
mongos
,localhost
默认情况下绑定到。从MongoDB 2.6到3.4版本localhost
,默认情况下仅绑定来自正式MongoDB RPM(Red Hat,CentOS,Fedora Linux和衍生产品)和DEB(Debian,Ubuntu和衍生产品)的二进制文件
。要了解有关此更改的更多信息,请参阅
Localhost绑定兼容性更改。从3.4版开始,配置服务器必须作为副本集(CSRS)部署。因此,版本3.4+的配置服务器已经使用WiredTiger存储引擎。
一旦升级到WiredTiger,你WiredTiger部署是不是 受以下MMAPv1,唯一的限制:
MMAPv1限制 | 简短的介绍 |
---|---|
命名空间数 | 对于MMAPv1,名称空间的数量限制为名称空间文件的大小除以628。 |
命名空间文件的大小 | 对于MMAPv1,名称空间文件不能大于2047兆字节。 |
数据库大小 | MMAPv1存储引擎将每个数据库限制为不超过16000个数据文件。 |
资料大小 | 对于MMAPv1,单个mongod 实例无法管理超出基础操作系统提供的最大虚拟内存地址空间的数据集。 |
数据库中的集合数 | 对于MMAPv1存储引擎,数据库中最大集合数是名称空间文件大小和数据库中集合索引数的函数。 |
对于每个副本集shard,将存储引擎更改为WiredTiger:
一次更新一个辅助成员:
从
实例配置中删除所有MMAPv1特定配置选项mongod
。
mongod
WiredTiger 开始。¶开始mongod
,将指定wiredTiger
为,--storageEngine
并将WiredTiger的准备好的数据目录指定为
--dbpath
。
适当指定其他选项,例如
--bind_ip
。
重要
如果您正在运行三成员PSA体系结构和MongoDB 4.0.3+版本,请使用include
禁用读取关注。请参阅PSA 3成员体系结构。--enableMajorityReadConcern false
majority
由于中没有数据--dbpath
,mongod
会执行
初始同步。初始同步过程的长度取决于数据库的大小以及副本集成员之间的网络连接。
您还可以在配置文件中指定选项。要指定存储引擎,请使用storage.engine
设置。
对其余的次要成员重复这些步骤,一次更新一次。
当主节点降级并成为辅助节点后,请像以前一样更新辅助节点以使用WiredTiger:
从
实例配置中删除所有MMAPv1特定配置选项mongod
。
mongod
WiredTiger 开始。¶开始mongod
,将指定wiredTiger
为,--storageEngine
并将WiredTiger的准备好的数据目录指定为
--dbpath
。
适当指定其他选项,例如
--bind_ip
。
重要
如果您正在运行三成员PSA体系结构和MongoDB 4.0.3+版本,请使用include
禁用读取关注。请参阅PSA 3成员体系结构。--enableMajorityReadConcern false
majority
由于中没有数据--dbpath
,mongod
会执行
初始同步。初始同步过程的长度取决于数据库的大小以及副本集成员之间的网络连接。
您还可以在配置文件中指定选项。要指定存储引擎,请使用storage.engine
设置。
对其他分片重复该过程。