将 Standalone 更改为 WiredTiger

从 3.2 版开始,WiredTiger 是 MongoDB 的新默认存储引擎。

本教程概述了将standalone MongoDB 实例的存储引擎更改为WiredTiger的过程。

Considerations

mongodump 和 mongorestore

Note

本教程使用mongodumpmongorestoreUtil 来导出和导入数据。

  • 确保在系统上安装和更新了这些 MongoDB 软件包组件。

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

默认绑定到 localhost

Note

从 MongoDB 3.6 开始,MongoDB 二进制文件mongodmongos默认绑定到localhost。从 MongoDB 版本 2.6 到 3.4,默认情况下,只有来自正式 MongoDB RPM(Red Hat,CentOS,Fedora Linux 和衍生产品)和 DEB(Debian,Ubuntu 和衍生产品)软件包的二进制文件会绑定到localhost。要了解有关此更改的更多信息,请参见Localhost 绑定兼容性更改

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

MongoDB 3.0 或更高版本

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

XFS 和 WiredTiger

对于 WiredTiger 存储引擎,建议在 Linux 上将 XFS 用于数据承载节点。有关更多信息,请参见内核和文件系统

Procedure

启动要更改为 WiredTiger 的 mongod。

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

使用 mongodump 导出数据。

mongodump --out <exportDataDestination>

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

为使用 WiredTiger 运行的新 mongod 创建数据目录。

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

带有 WiredTiger 的mongod不会以使用其他存储引擎创建的数据文件开头。

使用 WiredTiger 启动 mongod。

开始mongod,将wiredTiger指定为--storageEngine,并将新创建的 WiredTiger 数据目录指定为--dbpath。根据需要指定其他选项,例如--bind_ip

Warning

绑定到非 localhost(例如可公开访问)的 IP 地址之前,请确保已保护群集免受未经授权的访问。有关安全建议的完整列表,请参见Security Checklist。至少考虑enabling authentication加强网络基础设施

mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<ipaddresses>

您也可以在configuration file中指定选项。要指定存储引擎,请使用storage.engine设置。

使用 mongorestore 上传导出的数据。

mongorestore <exportDataDestination>

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

首页