Docs 菜单
Docs 主页
/
MongoDB Manual
/ / / /

将自管理独立运行更改为WiredTiger

注意

您必须升级到 WiredTiger。MongoDB 移除了版本 4.2 中已弃用的 MMAPv1 storage engine。

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

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

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

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

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

本教程运行 mongodumpmongorestore,运行的主机与其所连接的 mongod 所在主机相同。如果远程运行,mongodumpmongorestore 必须指定 IP 地址或相关主机名,才能连接到 mongod

对于 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 实例配置中删除任何 MMAPv1 配置选项。

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