编辑部署的配置
在此页面上
您可以修改部署的配置和拓扑,包括 MongoDB 版本、存储引擎以及主机或分片的数量。 您可以在部署拓扑的所有级别进行修改,从顶级分片集群或副本集到较低级别,例如分片集群中的副本集或副本集中的单个进程。 您还可以修改独立进程。
Considerations
将更改应用于集群或成员
如果对集群中的单个 MongoDB 进程进行配置更改,则将来对集群的任何更改都不再适用于子进程。
例子
如果您关闭副本集节点的日志功能,然后更改副本集的日志提交间隔,则更改不会应用于该节点。
MongoDB 版本
要选择哪些MongoDB版本可供MongoDB Ops Manager使用,请参阅 添加自定义MongoDB版本。
在更改部署的 MongoDB 版本之前,请检查以下文档,了解任何注意事项或兼容性问题:
警告
从 MongoDB 5.0升级到6.0
当您将分片集群从 MongoDB 5.0升级到6.0时,您必须使用 MongoDB 手册中将分片集群升级到6.0页面上的程序,为每个
mongos
刷新缓存的路由表。 。驱动程序的文档。
在预定义的维护窗口内计划版本更改。
在更改生产环境之前,请更改过渡环境中的 MongoDB 版本。过渡环境应反映生产环境。这有助于避免可能导致生产部署停机的兼容性问题。
注意
降级限制
无法对 MongoDB 部署进行以下降级:
从版本 5.0 到 4.4.0 之前的任何版本
从版本 4.4 到 4.2.6 之前的任何版本
从版本 4.2 到 4.0.12(适用于 Windows)或 4.0.7(适用于 Linux)之前的任何版本
从版本 4.0 到 3.6.23 之前的任何版本
MongoDB 版本的备份注意事项
要了解有关备份注意事项的更多信息,请参阅备份注意事项。
引擎加密
重要
MongoDB在MongoDB 4.2中删除了对 MMAPv 1存储引擎的支持。 如果编辑部署的配置以将存储引擎更改为WiredTiger存储引擎, MongoDB Ops Manager将重新启动MongoDB进程。
如果运行或升级到MongoDB 3.0 或更高版本并修改MongoDB存储引擎, MongoDB Ops Manager将关闭并重新启动MongoDB进程。 对于多成员副本集, MongoDB Ops Manager对每个成员执行滚动初始同步。
如果主机有足够的磁盘空间, MongoDB Ops Manager会在从一种storage engine迁移到另一种存储引擎的过程中创建备份目录。 如果磁盘空间不足,则不会进行备份。 迁移完成后, MongoDB Ops Manager不会删除备份目录。 您可以保留或删除以前的备份目录。 备份目录位于mongod的数据目录中。
例子
如果数据目录为/data/process
,则备份将为/data/process.bak.UNIQUENAME
。 UNIQUENAME
是 Ops Manager 生成的随机字符串。
在更改独立运行实例或副本集的存储引擎之前,必须授予自动化对MongoDB数据目录父目录的写入访问权限。 更新存储引擎时,代理会在父目录中创建数据的临时备份。 独立运行实例上的存储引擎更改还需要足够的磁盘空间来执行完整的/mongodump和/mongorestore 。 在存储引擎配置更改后,此磁盘空间将恢复到实例。 MongoDB Ops Manager不会删除备份目录。
您无法更改storage engine 配置服务器 上的 。有关存储引擎和可用选项的更多信息,请参阅 MongoDB 手册中的存储。
固定属性
创建部署后,无法修改以下设置:
您可以修改以下部署设置:
部署拓扑结构
您可以在部署拓扑结构的所有级别(包括子进程)进行修改。
要修改拓扑或进程,请使用本教程或更具体的教程之一:
项目级修改
影响部署的某些修改发生在项目级别。 以下更改会影响项目中的每个 MongoDB 进程。 对于这些更改,请使用指定的教程:
要为部署启用 TLS ,请参阅为部署启用 TLS。
要为部署添加或修改 MongoDB 用户和角色,请参阅管理 MongoDB 用户。
多重修改
您可以将多项修改合并到一个部署中。
例子
在单击 Review Changes按钮之前,您可以进行以下所有修改:
将 MongoDB 的最新稳定版本添加到“添加自定义构建”中。
为部署的 MongoDB 进程启用TLS 。
添加一个运行上述最新稳定版本 MongoDB 的新分片集群。
当您单击Review Changes时,审核会在一个屏幕上显示所有更改,供您在部署之前确认。
强制重新配置
仅适用于副本集和分片集群
当您将Force Reconfigure复制设置设置为Yes
时,MongoDB Agent可以强制副本集接受新配置。仅强制重新配置以将副本集从其少数成员可用的状态恢复。
警告:强制重新配置副本集可能会导致多数提交写入操作回滚。
请谨慎操作。如果您对此操作的潜在影响有任何疑问,请联系 MongoDB 支持团队。
删除分片
仅适用于分片集群
删除分片时,该分分片的任何未分片数据库都将使用分片命令移动到剩余分片片。
在分片移除过程中,所有分片集合均会保持在线并可用。但是,在 movePrimary
操作期间向未分片的集合发送的读取和写入操作则可能会导致意外行为,其中包括迁移失败或数据丢失。
我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。
要学习;了解有关删除分片的更多信息,请参阅从现有分片集群中删除分片。
删除多个副本集成员
您可以一次删除或迁移多个副本集成员,但必须保留大多数投票成员。 如果需要删除更多投票成员,请一次删除一个。
例子
示例 1
您有一个四节点副本集。 所有节点都是有投票权的成员。 您只能删除一个节点,这会保留四个投票节点中三个的多数。 您可以稍后从剩余的三节点副本集中删除另一个节点。这会保留大多数剩余投票节点。
例子
示例 2
您有一个四节点副本集。 三个节点为有投票权成员,一个节点为无投票权成员。 您可以同时删除一名有投票权成员和一名无投票权成员。 这保留了三个投票节点中两个的多数。
警告
从 MongoDB 5.0升级到6.0
当您将分片集群从 MongoDB 5.0升级到6.0时,您必须使用 MongoDB 手册的将分片集群升级到6.0页面上的程序为每个mongos
刷新缓存的路由表。
所有更改都是集群范围的
不能对副本集或分片集群的单个成员进行更改,只能对整个设立或集群进行更改。
Kubernetes 操作符 会覆盖某些 Ops Manager 设置
使用Kubernetes Operator 配置的某些设置无法在MongoDB Ops Manager应用程序中覆盖。 如果您更改这些设置之一, Kubernetes Operator 会在您每次应用资源规范时恢复这些设置。 接受Kubernetes Operator 未管理的设置。
以下设置列表是 Kubernetes 独有的。 此列表日后可能会发生变化。
这些设置可以在“自动化配置”页面上找到。
processes.args2_6.net.port
processes.args2_6.replication.replSetName
processes.args2_6.storage.dbPath
processes.args2_6.systemLog.path
processes.authSchemaVersion
processes.cluster
(Mongo 进程)processes.featureCompatibilityVersion
processes.hostname
processes.name
processes.version
replicaSets._id
replicaSets.members._id
replicaSets.members.host
replicaSets.members
replicaSets.version
sharding.clusterRole
(配置服务器)sharding.configServerReplica
sharding.name
sharding.shards._id
sharding.shards.rs
例子
Kubernetes Operator 创建一个包含 3 个节点的副本集。
然后,您可以将副本集扩展为5个成员。
新成员上的
storage.wiredTiger.engineConfig.cacheSizeGB
应为40
。
Kubernetes中不可用的更改
如果某个设置不可用于MongoDB Kubernetes资源,则必须在MongoDB Ops Manager应用程序中进行更改。
先决条件
您的部署必须运行与 Ops Manager 兼容的自动化版本。 如果您的部署未运行兼容版本的代理,Ops Manager 会显示横幅,提示您更新代理。
在对独立进程进行存储引擎更改之前,父目录中必须有足够的磁盘空间来执行备份。 我们建议使用副本集而不是独立进程,独立进程会以滚动方式应用更改。
要更新MongoDB Kubernetes对象,您需要满足“安装Kubernetes Operator ”页面的先决条件,并完成相应步骤。
步骤
选择要编辑的部署类型:
修改独立运行的实例设置。
Standalone Settings部分包含以下配置设置:
设置 | 说明 |
---|---|
Hostname | MongoDB Ops Manager部署 mongod 的主机名。 此主机名可以是主机名、 FQDN 、 IPv 4解决或IPv 6解决。 您只能部署到MongoDB Ops Manager自动化下的主机。 有关向MongoDB Ops Manager自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。 |
Port | |
Version | 选择 Ops Manager 仅列出可用于您的部署的 MongoDB 版本。 要禁用此过滤,请参阅 |
Auth Schema Version | 选择用于存储用户的模式,以便为部署存储用户数据。 如果要从早于3.0的 MongoDB 版本升级, MongoDB 3.0 + 对用户数据使用与以前版本不同的模式。 有关兼容性信息,请参阅 MongoDB 3.0发布说明中的安全更改。 |
Feature Compatibility Version | 选择部署的功能兼容性版本。 MongoDB Ops Manager如果您的部署运行MongoDB 3.4或更高版本, 将显示此字段。 |
Log File |
修改高级配置选项。
Advanced Configuration Options(高级配置选项)部分允许您为部署中的每个 MongoDB 进程设置 MongoDB 运行时选项。
要添加选项:
单击 Add Option(连接)。
单击 Select a Startup Option(选择启动选项),然后选择配置选项。
Ops Manager 显示上下文相关输入,用于为所选选项配置可接受的值。
单击Add将所选选项及其相应的值添加到流程中。
有关可用 Advanced Configuration Options(高级配置选项)的说明,请参阅 MongoDB 部署的高级选项。
修改集群范围的设置。
Replica Set Configuration(副本集配置)部分包含以下集群范围的配置设置。
设置 | 说明 |
---|---|
Auth Schema Version | 选择用于存储用户的模式,以便为部署存储用户数据。 如果要从早于3.0的 MongoDB 版本升级, MongoDB 3.0 + 对用户数据使用与以前版本不同的模式。 有关兼容性信息,请参阅 MongoDB 3.0发布说明中的安全更改。 |
Feature Compatibility Version | 选择部署的功能兼容性版本。 MongoDB Ops Manager如果您的部署运行MongoDB 3.4或更高版本, 将显示此字段。 |
Replica Set Settings | 显示与副本集关联的每个进程的进程表。您可以配置每个进程的 MongoDB Server 版本、数据目录和日志路径。 |
Process Name | |
Version | 选择 Ops Manager 仅列出可用于您的部署的 MongoDB 版本。 要禁用此过滤,请参阅 |
Log File |
配置每个副本集节点。
MongoDB Ops Manager在 Member Configuration 部分的 MongoD Settings 标题下列出每个副本集节点。 每个副本集节点都有以下可配置选项:
设置 | 说明 |
---|---|
Member | 从菜单中选择以下副本集节点角色之一:
|
Hostname | 从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。 此主机名可以是主机名、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手册中的重新配置具有不可用成员的副本集。 |
修改高级配置选项。
Advanced Configuration Options(高级配置选项)部分允许您为部署中的每个 MongoDB 进程设置 MongoDB 运行时选项。
要添加选项:
单击 Add Advanced Options(连接)。
单击 Select a Startup Option(选择启动选项),然后选择配置选项。
Ops Manager 显示上下文相关输入,用于为所选选项配置可接受的值。
单击 Add(添加)将所选选项及其相应值添加到集群中所选进程类型的每个进程。
Ops Manager 列出集群中按逻辑分组的每个进程。单击逻辑分组左侧的灰色箭头,显示其子分组和进程。 您可以根据需要单独修改每个进程的高级选项。
有关可用 Advanced Configuration Options(高级配置选项)的说明,请参阅 MongoDB 部署的高级选项。
单击Confirm & Deploy 以部署更改。
否则,请单击 Cancel,您可以进行其他更改。
如果您尝试强制重新配置副本集, MongoDB Ops Manager会显示以下消息。
在单击Confirm & Deploy之前,请确保您了解强制重新配置副本集的风险。
配置集群范围的设置。
Cluster Configuration(副本集配置)部分包含以下集群范围的配置设置。
设置 | 说明 |
---|---|
Shard Name Prefix | 指定分片集群每个分片的前缀。 MongoDB Ops Manager使用 |
Auth Schema Version | 选择用于存储用户的模式,以便为部署存储用户数据。 如果要从早于3.0的 MongoDB 版本升级, MongoDB 3.0 + 对用户数据使用与以前版本不同的模式。 有关兼容性信息,请参阅 MongoDB 3.0发布说明中的安全更改。 |
Feature Compatibility Version | 选择部署的功能兼容性版本。 MongoDB Ops Manager如果您的部署运行MongoDB 3.4或更高版本, 将显示此字段。 |
Process Name | |
Version | 选择 Ops Manager 仅列出可用于您的部署的 MongoDB 版本。 要禁用此过滤,请参阅 |
Log File |
配置集群中的每个分片。
在Member Configuration部分中,单击Shard Settings打开分分片配置选项。 分片 MongoDB Ops Manager列出集群中的每个分片以及与该分片关联的mongod
分片。 每个分分片进程都有以下选项。 无法修改灰显的选项:
设置 | 说明 |
---|---|
Member | 从菜单中选择以下副本集节点角色之一:
|
Hostname | 从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。 此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。 |
Port | |
Votes | |
Priority | |
Delay | 指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于 |
Build Indexes | 指定 |
Tags | |
Add a Mongod |
如要向集群添加其他分片,请执行以下操作:
单击 Add a Shard(连接)。
在 Cluster Configuration 部分下,为分片中的每个
mongod
设置以下参数:Version
Data Directory
Log File
配置集群中的每个配置服务器。
Ops Manager 会根据您为配置服务器选择的 MongoDB 版本,为您的配置服务器设置显示不同的标题。
- MongoDB 3.2或更高版本:
在Member Configuration部分中,单击Config Server Replica Set Settings打开 CSRS 配置选项。 每个配置服务器副本集成员都有以下选项:
设置说明Member从菜单中选择以下副本集节点角色之一:
Default
副本集承载数据的节点,可以成为主节点,在选举中投票。
副本集未承载数据的节点,可以在选举中投票。对应于
arbiterOnly
副本配置选项。副本集承载数据的节点,可以在选举中投票。对应于
hidden
副本配置选项。副本集承载数据的节点,可以在选举中投票。对应于
secondaryDelaySecs
和hidden
副本配置选项。
Hostname从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。
此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。
PortVotesPriorityDelay指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于
secondaryDelaySecs
mongod
副本集配置选项。Build Indexes指定
true
以指示mongod
建立索引。此设置对应于buildIndexes
mongod
副本集配置选项。TagsAdd a Mongod- MongoDB 3.0或更早版本
在 Member Configuration(成员配置)部分中,单击 Config Server Settings(配置服务器设置)打开配置服务器选项。每个配置服务器都具有以下选项:
设置说明Hostname从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。
此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。
Port
配置集群中的每个mongos
。
在Member Configuration部分中,单击Mongos Settings打开mongos
配置选项。 每个mongos
进程都有以下选项。 无法修改灰显的选项:
设置 | 说明 |
---|---|
Hostname | 从菜单中选择MongoDB Ops Manager Automation 将 此主机名可以是主机名、FQDN、IPv4 地址或 IPv6 地址。 |
Port | |
Add a Mongos | 单击以添加其他 |
配置集群中的每个副本集。
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手册中的重新配置具有不可用成员的副本集。 |
修改高级配置选项。
Advanced Configuration Options(高级配置选项)部分允许您为部署中的每个 MongoDB 进程设置 MongoDB 运行时选项。
要添加选项:
单击 Add Advanced Options(连接)。
单击 Select a Startup Option(选择启动选项),然后选择配置选项。
Ops Manager 显示上下文相关输入,用于为所选选项配置可接受的值。
单击 Add(添加)将所选选项及其相应值添加到集群中所选进程类型的每个进程。
Ops Manager 列出集群中按逻辑分组的每个进程。单击逻辑分组左侧的灰色箭头,显示其子分组和进程。 您可以根据需要单独修改每个进程的高级选项。
有关可用 Advanced Configuration Options(高级配置选项)的说明,请参阅 MongoDB 部署的高级选项。
编辑 Kubernetes 资源规范文件。
修改或添加您需要添加或更改的任何设置。
保存规范文件。
调用以下Kubernetes命令来更新您的资源。
kubectl apply -f <standalone-conf>.yaml