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