您可以修改部署的配置和拓扑,包括 MongoDB 版本、存储引擎以及主机或分片的数量。 您可以在部署拓扑的所有级别进行修改,从顶级分片集群或副本集到较低级别,例如分片集群中的副本集或副本集中的单个进程。 您还可以修改独立进程。
Considerations
将更改应用于集群或成员
如果对集群中的单个 MongoDB 进程进行配置更改,则将来对集群的任何更改都不再适用于子进程。
例子
如果您关闭副本集节点的日志功能,然后更改副本集的日志提交间隔,则更改不会应用于该节点。
MongoDB 版本
要选择哪些版本的MongoDB可供Cloud Manager使用,请参阅添加自定义MongoDB版本。
在更改部署的 MongoDB 版本之前,请检查以下文档,了解任何注意事项或兼容性问题:
驱动程序的文档。
在预定义的维护窗口内计划版本更改。
在更改生产环境之前,请更改过渡环境中的 MongoDB 版本。过渡环境应反映生产环境。这有助于避免可能导致生产部署停机的兼容性问题。
注意
降级限制
无法对 MongoDB 部署进行以下降级:
从版本 5.0 到 4.4.0 之前的任何版本
MongoDB 版本的备份注意事项
要了解有关备份注意事项的更多信息,请参阅备份注意事项。
如果您选择通过 "featureCompatibilityVersion" : 4.2升级到 MongoDB 4.2,Cloud Manager 会显示一个模态窗口,要求您同意 MongoDB, Inc. 授予使用 MongoDB Enterprise 进行备份的特殊许可。
引擎加密
重要
MongoDB 在 MongoDB 4.2中删除了对 MMAPv 1存储引擎的支持。 如果您编辑部署的配置以将存储引擎更改为WiredTiger 存储引擎,Cloud Manager 将重新启动 MongoDB 进程。
如果您运行或升级到MongoDB 3.0或更高版本并修改MongoDB存储引擎, Cloud Manager将关闭并重新启动MongoDB进程。 对于多成员副本集, Cloud Manager对每个成员执行滚动初始同步。
如果主机有足够的磁盘空间, Cloud Manager会在从一种storage engine迁移到另一种存储引擎的过程中创建备份目录。 如果磁盘空间不足,则不会进行备份。 迁移完成后,Cloud Manager不会删除备份目录。 您可以保留或删除以前的备份目录。 备份目录位于mongod的数据目录中。
例子
如果数据目录为/data/process ,则备份将为/data/process.bak.UNIQUENAME 。 UNIQUENAME是 Cloud Manager 生成的随机字符串。
在更改独立运行实例或副本集的存储引擎之前,必须授予自动化对MongoDB数据目录父目录的写入访问权限。 更新存储引擎时,代理会在父目录中创建数据的临时备份。 独立运行实例上的存储引擎更改还需要足够的磁盘空间来执行完整的/mongodump和/mongorestore 。 在存储引擎配置更改后,此磁盘空间将恢复到实例。 Cloud Manager不会删除备份目录。
您无法更改storage engine 配置服务器 上的 。有关存储引擎和可用选项的更多信息,请参阅 MongoDB 手册中的存储。
固定属性
创建部署后,无法修改以下设置:
您可以修改以下部署设置:
部署拓扑结构
您可以在部署拓扑结构的所有级别(包括子进程)进行修改。
要修改拓扑或进程,请使用本教程或更具体的教程之一:
项目级修改
影响部署的某些修改发生在项目级别。 以下更改会影响项目中的每个 MongoDB 进程。 对于这些更改,请使用指定的教程:
要为部署启用 TLS ,请参阅为部署启用 TLS。
要为部署添加或修改 MongoDB 用户和角色,请参阅管理 MongoDB 用户。
多重修改
您可以将多项修改合并到一个部署中。
例子
在单击 Review Changes按钮之前,您可以进行以下所有修改:
将 MongoDB 的最新稳定版本添加到“添加自定义构建”中。
为部署的 MongoDB 进程启用TLS 。
添加一个运行上述最新稳定版本 MongoDB 的新分片集群。
当您单击Review Changes时,审核会在一个屏幕上显示所有更改,供您在部署之前确认。
强制重新配置
仅适用于副本集和分片集群
当您将Force Reconfigure复制设置设置为Yes时,MongoDB Agent可以强制副本集接受新配置。仅强制重新配置以将副本集从其少数成员可用的状态恢复。
警告:强制重新配置副本集可能会导致多数提交写入操作回滚。
请谨慎操作。如果您对此操作的潜在影响有任何疑问,请联系 MongoDB 支持团队。
提示
MongoDB手册中的“重新配置具有不可用成员的副本集”。
删除分片
仅适用于分片集群
删除分片时,该分分片的任何未分片数据库都将使用分片命令移动到剩余分片片。
在分片移除过程中,所有分片集合均会保持在线并可用。但是,在 movePrimary 操作期间向未分片的集合发送的读取和写入操作则可能会导致意外行为,其中包括迁移失败或数据丢失。
我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。
要学习;了解有关删除分片的更多信息,请参阅从现有分片集群中删除分片。
删除多个副本集成员
您可以一次删除或迁移多个副本集成员,但必须保留大多数投票成员。 如果需要删除更多投票成员,请一次删除一个。
例子
示例 1
您有一个四节点副本集。 所有节点都是有投票权的成员。 您只能删除一个节点,这会保留四个投票节点中三个的多数。 您可以稍后从剩余的三节点副本集中删除另一个节点。这会保留大多数剩余投票节点。
例子
示例 2
您有一个四节点副本集。 三个节点为有投票权成员,一个节点为无投票权成员。 您可以同时删除一名有投票权成员和一名无投票权成员。 这保留了三个投票节点中两个的多数。
先决条件
您的部署必须运行与 Cloud Manager 兼容的自动化版本。如果您的部署未运行兼容版本的代理,Cloud Manager 会显示横幅,提示您更新代理。
步骤
选择要编辑的部署类型:
在MongoDB Cloud Manager中,转到项目的Processes 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Processes。
显示“进程”页面。
修改独立运行的实例设置。
Standalone Settings部分包含以下配置设置:
设置 | 说明 |
|---|---|
Hostname | Cloud Manager部署 |
Port | |
Version | |
Auth Schema Version | 选择用于存储用户的模式,以便为部署存储用户数据。 如果要从早于3.0的 MongoDB 版本升级, MongoDB 3.0 + 对用户数据使用与以前版本不同的模式。 有关兼容性信息,请参阅 MongoDB 3.0发布说明中的安全更改。 |
Feature Compatibility Version | 选择部署的功能兼容性版本。 如果您的部署运行 MongoDB 3.4或更高版本,Cloud Manager 将显示此字段。 |
Log File |
修改高级配置选项。
Advanced Configuration Options(高级配置选项)部分允许您为部署中的每个 MongoDB 进程设置 MongoDB 运行时选项。
要添加选项:
单击 Add Option(连接)。
单击 Select a Startup Option(选择启动选项),然后选择配置选项。
Cloud Manager 显示上下文相关输入,用于为所选选项配置可接受的值。
单击Add将所选选项及其相应的值添加到流程中。
有关可用 Advanced Configuration Options(高级配置选项)的说明,请参阅 MongoDB 部署的高级选项。
在MongoDB Cloud Manager中,转到项目的Processes 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Processes。
显示“进程”页面。
修改集群范围的设置。
Replica Set Configuration(副本集配置)部分包含以下集群范围的配置设置。
设置 | 说明 |
|---|---|
Auth Schema Version | 选择用于存储用户的模式,以便为部署存储用户数据。 如果要从早于3.0的 MongoDB 版本升级, MongoDB 3.0 + 对用户数据使用与以前版本不同的模式。 有关兼容性信息,请参阅 MongoDB 3.0发布说明中的安全更改。 |
Feature Compatibility Version | 选择部署的功能兼容性版本。 如果您的部署运行 MongoDB 3.4或更高版本,Cloud Manager 将显示此字段。 |
Replica Set Settings | 显示与副本集关联的每个进程的进程表。您可以配置每个进程的 MongoDB Server 版本、数据目录和日志路径。 |
Process Name | |
Version | |
Log File |
配置每个副本集节点。
Cloud Manager在Member Configuration部分的MongoD Settings标题下列出每个副本集节点。 每个副本集节点都有以下可配置选项:
设置 | 说明 |
|---|---|
Member | 从菜单中选择以下副本集节点角色之一:
|
Hostname | 从菜单中选择 Cloud Manager Automation 将副本集节点部署到的主机。该菜单仅列出 Cloud Manager Automation 下的主机。有关向 Cloud Manager Automation 添加服务器的完整文档,请参阅预配服务器以实现自动化。 此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。 |
Port | |
Votes | |
Priority | |
Delay | 指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于 |
Build Indexes | 指定 |
Tags | |
Add a Mongod |
配置复制设置。
Replication Settings(复制设置)部分包含副本集的以下配置选项:
设置 | 说明 |
|---|---|
Protocol Version | 选择副本集使用的复制协议版本。操作设置对应 有关更多信息,请参阅副本集协议版本。 |
Chaining Allowed | 指定 |
Write Concern Majority Journal Default | 如果写关注未明确指定日志选项 |
Heartbeat Timeout (secs) | 指定副本集节点等待彼此成功心跳的秒数。此设置对应 |
Election Timeout (ms) | 指定检测副本集的主节点无法访问的时间限制(以毫秒为单位)。此设置对应于 |
CatchUp Timeout (ms) | 指定新选出的主节点与可能有更多近期写入操作的其他副本集节点进行同步(赶上)的时间限制(以毫秒为单位)。此设置对应于 |
CatchUp Takeover Delay (ms) | 指定节点在确定自己领先于当前主节点后启动追赶接管的等待时间(以毫秒为单位)。此设置对应于 |
Last Error Defaults | 指定副本集的默认写关注。仅当写入操作或 getLastError 未指定其他写关注时,副本集才使用此写关注。 如果未设置此选项,则副本集的默认写关注只需要主节点的确认。 以文档的形式指定此选项,即 |
Force Reconfigure | 指定要强制重新配置副本集。当设置为 警告:强制重新配置副本集可能会导致多数提交写入操作回滚。 请谨慎操作。如果您对此操作的潜在影响有任何疑问,请联系 MongoDB 支持团队。 要学习;了解更多信息,请参阅MongoDB Server手册中的重新配置具有不可用成员的副本集。 |
在MongoDB Cloud Manager中,转到项目的Processes 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Processes。
显示“进程”页面。
配置集群范围的设置。
Cluster Configuration(副本集配置)部分包含以下集群范围的配置设置。
设置 | 说明 |
|---|---|
Shard Name Prefix | 指定集群中每个分片的前缀。 Cloud Manager 使用 |
Auth Schema Version | 选择用于存储用户的模式,以便为部署存储用户数据。 如果要从早于3.0的 MongoDB 版本升级, MongoDB 3.0 + 对用户数据使用与以前版本不同的模式。 有关兼容性信息,请参阅 MongoDB 3.0发布说明中的安全更改。 |
Feature Compatibility Version | 选择部署的功能兼容性版本。 如果您的部署运行 MongoDB 3.4或更高版本,Cloud Manager 将显示此字段。 |
Process Name | |
Version | |
Log File |
配置集群中的每个分片。
在Member Configuration部分中,单击Shard Settings打开分分片配置选项。 Cloud Manager列出分片集群的每个分片以及与该分片关联的mongod分片。 每个分分片进程都有以下选项。 无法修改灰显的选项:
设置 | 说明 |
|---|---|
Member | 从菜单中选择以下副本集节点角色之一:
|
Hostname | 从菜单中选择 Cloud Manager Automation 将副本集节点部署到的主机。该菜单仅列出 Cloud Manager Automation 下的主机。有关向 Cloud Manager Automation 添加服务器的完整文档,请参阅预配服务器以实现自动化。 此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。 |
Port | |
Votes | |
Priority | |
Delay | 指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于 |
Build Indexes | 指定 |
Tags | |
Add a Mongod |
如要向集群添加其他分片,请执行以下操作:
单击 Add a Shard(连接)。
在 Cluster Configuration 部分下,为分片中的每个
mongod设置以下参数:Version
Data Directory
Log File
配置集群中的每个mongos 。
在Member Configuration部分中,单击Mongos Settings打开mongos配置选项。 每个mongos进程都有以下选项。 无法修改灰显的选项:
设置 | 说明 |
|---|---|
Hostname | 从菜单中选择 Cloud Manager Automation 将 此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。 |
Port | |
Add a Mongos | 单击以添加其他 |