文档菜单
文档首页
/
MongoDB 手册
/ / / /

将自管理的单实例转换为 WiredTiger

注意

您必须升级到 WiredTiger。MongoDB 从 4.2 版本中删除了已弃用的 MMAPv1 存储引擎。

使用本教程更改独立 MongoDB 实例转换为 WiredTiger。

本教程使用mongodumpmongorestore 工具导出和导入数据。

  • 确保这些 MongoDB 软件包组件已安装并更新到您的系统。

  • 请确保您有足够的磁盘空间来存储 mongodump 导出文件以及运行在 WiredTiger 上的新 mongod 实例的数据文件。

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

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

在 Linux 上,使用 WiredTiger 存储引擎时,建议使用 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必须对此目录具有读写权限。

使用WiredTiger的mongod将无法启动由不同存储引擎创建的数据文件。

4

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

5

以WiredTiger作为--storageEngine并指定为WiredTiger创建的新数据目录作为--dbpath启动mongod

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

警告

在将实例绑定到公开访问的IP地址之前,您必须保护集群免受未经授权的访问。有关安全建议的完整列表,请参阅自托管部署安全清单。至少,考虑启用身份验证加强网络基础设施

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

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

6
mongorestore <exportDataDestination>

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

返回

WiredTiger