部署分片集群
分片集群为大型数据集提供水平扩展,并通过将数据集分布在一组服务器上来实现高吞吐量操作。
要了解有关分片的更多信息,请参阅 MongoDB 手册中的分片简介。
使用此程序部署 Ops Manager 托管的新分片集群。稍后,您可以使用 Ops Manager 添加分片并对集群执行其他维护操作。
注意
已在 Ops Manager 4.0 中添加
您可以使用 Kubernetes 通过 Ops Manager 4.0 或更高版本来部署 MongoDB 实例。
要了解如何使用 Kubernetes 对象部署分片集群,请参阅 MongoDB Enterprise Kubernetes Operator 文档中的部署分片集群。
先决条件
要部署 MongoDB 集群,您必须预配主机来为这些集群提供服务。 Ops Manager 需要访问这些主机。
重要
如果您运行MongoDB Enterprise并预配自己的 Linux 主机,则必须在安装 MongoDB 之前手动向每台服务器安装一组依赖项。 MongoDB 手册提供了相应的命令来安装依赖项。
要进一步了解操作系统的具体情况,请参阅下文:
考虑因素
分片集群的唯一名称
为新集群及其分片使用唯一名称。
重要
同一项目中的副本集、分片集群和分片名称必须唯一。如果部署没有唯一名称,将导致备份快照损坏。
不要在 Kubernetes 内部和外部部署监控代理
请勿在同一项目中将 Kubernetes 外部的 MongoDB 部署与 Kubernetes 内部的 MongoDB 部署混用。
由于 Kubernetes 网络转换的原因,Kubernetes 外部的监控代理无法监控 Kubernetes 内部的 MongoDB 实例。 因此,不支持在同一项目中部署 k8s 和非 k8s。 使用单独的项目。
配置服务器部署架构
Ops 版本中的新增功能:经理 4.0
从 MongoDB 3开始。 2或更高版本的配置服务器 mongod
进程,Ops Manager 会将您的配置服务器部署为副本集。
要了解有关 CSRS和镜像配置服务器 ( SCCC ) 的详情,请参阅配置服务器。
删除分片
删除分片时,该分片中的任何未分片数据库都将使用movePrimary命令移动到剩余分片。
在分片删除过程中,所有分片集合都保持在线且可用。但是,在movePrimary
操作期间发送到未分片集合的读取和写入操作可能会导致意外行为,包括迁移失败或数据丢失。
我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。
要了解有关删除分片的更多信息,请参阅从现有分片集群中删除分片。
步骤
配置集群范围的设置。
Cluster Configuration部分包含以下集群范围的配置设置。 Ops Manager 用户界面中标有*星号的设置为必填项。
设置 | 说明 |
---|---|
Cluster Name | 指定分片集群部署的名称。一旦设置就无法更改。 |
Config Server Replica Set Name | |
Shard Name Prefix | 指定集群中每个分片的前缀。 Ops Manager 使用 |
Process Name | |
Version | 选择 注意可用版本Ops Manager 仅列出可用于您的部署的 MongoDB 版本。 要禁用此过滤,请参阅 |
Data Directory | 指定 每个 |
Log File |
配置集群中的每个分片。
在Member Configuration部分中,单击Shard Settings打开分片配置选项。 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 | 从菜单中选择 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 手册中的重新配置具有不可用成员的副本集。 |
为您的 MongoDB 副本集设置默认读关注和写关注。
在 Default Read Concerns/Write Concerns(默认读关注/写关注)卡中,您可以配置 MongoDB 为此集群的读写操作请求的默认确认级别。设置默认的读关注和写关注有助于使用仲裁节点进行 MongoDB 5.0 及更高版本的部署。
在Default Read Concerns部分中,您可以为从集群读取的数据设置一致性和隔离属性。
从 Level(级别)下拉菜单中选择默认读关注。您可以选择以下值:
在Default Write Concerns部分中,您可以配置MongoDB 为集群中的写入操作请求的默认确认级别。您可以设置三个参数:
范围 | 值 |
---|---|
w 选项 | |
j 选项 | 该标志指示是否必须将写入确认写入磁盘上日志。 |
wtimeout | 写关注的所需时间限制(以毫秒为单位)。当您将w设置为大于 1 的值(包括majority 时,请设置此值。 |
为 MongoDB 分片集群设置所有高级配置选项。
Advanced Configuration Options(高级配置选项)部分允许您为部署中的每个 MongoDB 进程设置 MongoDB 运行时选项。
要添加选项:
单击 Add Advanced Options(连接)。
单击 Select a Startup Option(选择启动选项),然后选择配置选项。
Ops Manager 显示上下文相关输入,用于为所选选项配置可接受的值。
单击 Add(添加)将所选选项及其相应值添加到集群中所选进程类型的每个进程。
Ops Manager 列出集群中按逻辑分组的每个进程。单击逻辑分组左侧的灰色箭头,显示其子分组和进程。 您可以根据需要单独修改每个进程的高级选项。
有关可用 Advanced Configuration Options(高级配置选项)的说明,请参阅 MongoDB 部署的高级选项。