Docs 菜单

Docs 主页开发应用程序MongoDB Manual

将独立实例更改为 WiredTiger

注意

从版本 4.2 开始,MongoDB 删除了已弃用的 MMAPv1 存储引擎。如果从使用 MMAPv1 的 MongoDB 4.0 部署升级到 MongoDB 4.2,则必须升级到 WiredTiger。

使用本教程将独立 MongoDB 实例的存储引擎更改为 WiredTiger。

本教程使用mongodumpmongorestore实用程序导出和导入数据。

  • 确保在系统中安装并更新了这些 MongoDB 程序包组件。

  • 确保有足够的驱动器空间可用于mongodump导出文件以及使用 WiredTiger 运行的新mongod实例的数据文件。

默认情况下,MongoDB 二进制文件 mongodmongos 绑定到 localhost

本教程从mongodumpmongorestore所连接的mongod所在的同一主机运行。如果远程运行, mongodumpmongorestore必须指定 IP 地址或关联的主机名,以便连接到mongod

您必须使用 MongoDB 3.0 或更高版本,才能使用 WiredTiger 存储引擎。如果使用早期版本的 MongoDB,则您必须先升级 MongoDB 版本,然后才能继续变更存储引擎。要升级 MongoDB 版本,请参阅相应版本的手册。

对于 WiredTiger 存储引擎,建议在 Linux 上使用 XFS 作为数据承载节点。有关详情,请参阅内核和文件系统

升级到 WiredTiger 后,WiredTiger 部署受以下仅限于 MMAPv1 限制的约束:

MMAPv1 限制
简短描述
命名空间数
对于 MMAPv1,命名空间的数量限制为命名空间文件的大小除以 628。
命名空间文件的大小
对于 MMAPv1,命名空间文件的大小不得超过 2047 兆字节。
数据库大小
MMAPv1 存储引擎将每个数据库限制为不超过 16000 个数据文件。
数据大小
对于 MMAPv1,单个 mongod 实例管理的数据集不能超过底层操作系统提供的最大虚拟内存地址空间。
数据库中的集合数量
对于 MMAPv1 存储引擎,数据库中集合的最大数量是命名空间文件大小和数据库中集合索引数量的函数。
1

如果 mongod 已经运行,则可以跳过此步骤。

2
mongodump --out=<exportDataDestination>

根据需要指定其他选项,例如,如果在启用授权的情况下运行,则指定用户名和密码。有关可用选项,请参阅mongodump

3

为将使用 WiredTiger 存储引擎运行的新 mongod 实例创建一个数据目录。mongod 必须具有此目录的读写权限。

mongod 带有 WiredTiger,不会启动使用其他存储引擎创建的数据文件。

4

mongod实例配置中删除任何 MMAPv 1配置选项。

5

启动 mongod,指定 wiredTiger--storageEngine,为 WiredTiger 新建的数据目录为 --dbpath

根据需要指定其他选项,如 --bind_ip

警告

在绑定到非本地主机(例如可公开访问)的 IP 地址之前,请确保您已保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅安全检查清单。至少应考虑启用身份验证强化网络基础架构。

mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<hostname(s)|ip address(es)>

您也可以在配置文件中指定这些选项。要指定存储引擎,请使用 storage.engine 设置。

6
mongorestore <exportDataDestination>

根据需要指定其他选项。有关可用选项,请参阅mongorestore

← WiredTiger 存储引擎