对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

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

注意

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

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

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

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

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

默认情况下,MongoDB 二进制文件 mongod 和 mongos 绑定到 localhost。

本教程运行 mongodump 和 mongorestore,运行的主机与其所连接的 mongod 所在主机相同。如果远程运行,mongodump 和 mongorestore 必须指定 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。

给本页内容打分