Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/

部署分片集群

在此页面上

  • 先决条件
  • Considerations
  • 步骤

分片集群为大型数据集提供横向扩展,并在一组服务器之间分配数据集以启用高吞吐量操作。

要了解有关分片的更多信息,请参阅 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 手册提供了相应命令来安装这些依赖项。

要进一步了解操作系统的具体情况,请参阅下文:

为新集群及其分片使用唯一名称。

重要

同一项目中的副本集、分片集群和分片名称必须唯一。如果部署没有唯一名称,将导致备份快照损坏。

请勿在同一项目中将 Kubernetes 外部的 MongoDB 部署与 Kubernetes 内部的 MongoDB 部署混用。

由于 Kubernetes 网络转换的原因,Kubernetes 外部的监控代理无法监控 Kubernetes 内部的 MongoDB 实例。 因此,不支持在同一项目中部署 k8s 和非 k8s。 使用单独的项目。

Ops 版本中的新增功能:经理 4.0

从MongoDB 3.2 或更高版本的配置服务器mongod进程开始, MongoDB Ops Manager会将配置服务器部署为副本集。

要了解有关 CSRS和镜像配置服务器 ( SCCC ) 的详情,请参阅配置服务器。

删除分片时,该分分片的任何未分片数据库都将使用分片命令移动到剩余分片

在分片移除过程中,所有分片集合均会保持在线并可用。但是,在 movePrimary 操作期间向未分片的集合发送的读取和写入操作则可能会导致意外行为,其中包括迁移失败或数据丢失。

我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。

要学习;了解有关删除分片的更多信息,请参阅从现有分片集群中删除分片。

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

2

单击 Deployment 页面右上角的 Add 箭头。从下拉菜单中选择 New Cluster 以打开 Create New Cluster 视图。

3

Cluster Configuration部分包含以下集群范围的配置设置。 Ops Manager 用户界面中标有*星号的设置为必填项。

设置
说明
Cluster Name

指定分分片集群部署的名称。 一旦设立就无法更改。

Config Server Replica Set Name

指定配置服务器副本集的名称。 一旦设立就无法更改。 此设置对应于_id副本配置选项。

仅当您选择 MongoDB 3.2 或更高版本作为配置服务器的Version时,Ops Manager 才会显示此选项。

Shard Name Prefix

指定分片集群每个分片的前缀。 MongoDB Ops Manager使用 <prefix_n> 格式命名分片集群的每个分片,其中 n 是一个以 0 为索引、单调递增的整数。

Process Name

与分片集群关联的mongodmongos的主机名和端口。 此主机名可以是主机名、 FQDNIPv 4地址或IPv 6地址。

MongoDB Ops Manager将mongod进程分组在其父副本集名称下,并将mongos进程分组在 mongoses 下。 然后, MongoDB Ops Manager将所有集群组件分组在集群名称下。 单击可列出其子组或进程。 修改分组的任何可用设置都会更改其子组和进程中的相应值。

对于运行MongoDB 3.0 或更早版本的集群, MongoDB Ops Manager配置服务器mongod进程分组在 configServers 下。

Version

选择 mongodmongos 进程的 MongoDB Server 版本。

Ops Manager 仅列出可用于您的部署的 MongoDB 版本。

要禁用此过滤,请参阅automation.versions.download.baseUrl.allowOnlyAvailableBuilds

Data Directory

指定mongod进程存储数据文件的目录。 此设置对应于storage.dbPath mongod配置文件选项。 MongoDB Ops Manager自动化必须具有文件系统权限才能读取、写入和执行指定目录中的所有文件和文件夹。

每个 mongod 进程必须有自己的数据库目录。如果在同一主机上部署多个 mongod 进程,请确保每个进程都有自己独立的目录。

Log File

指定mongodmongos日志文件的完整路径,包括日志文件名和扩展名。 此设置对应于systemLog.path配置文件选项。 mongodmongos必须具有读取和写入指定文件的权限。

示例,指定/var/log/mongodb/mongo.log会指示mongodmongos/var/log/mongodb/中将其日志文件存储为mongo.log

mongodmongos必须有自己唯一的日志文件。 如果将多个mongodmongos进程部署到同一托管,请确保每个mongodmongos都有自己不同的日志文件。

4

Member Configuration部分中,单击Shard Settings打开分配置选项。 MongoDB Ops Manager列出集群中的每个分片以及与该分片关联的mongod进程。 每个分片进程都有以下选项:

设置
说明
Member

从菜单中选择以下副本集节点角色之一:

  • Default

    副本集承载数据的节点,可以成为主节点,在选举中投票。

  • 投票节点

    副本集未承载数据的节点,可以在选举中投票。对应于 arbiterOnly 副本配置选项。

  • Hidden

    副本集承载数据的节点,可以在选举中投票。对应于 hidden 副本配置选项。

  • 延迟隐藏

    副本集承载数据的节点,可以在选举中投票。对应于 secondaryDelaySecshidden 副本配置选项。

Hostname

从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。

此主机名可以是主机名、FQDNIPv4 地址或 IPv6 地址。

Port

指定 mongod进程的 IANA 端口号。此设置对应于net.port配置文件选项。 默认为27017

mongod 必须具有指定端口的独占访问权限。如果将多个 mongod 进程部署到单个主机,则必须为每个进程选择唯一的未使用端口。

Votes

指定副本集节点在选举期间拥有的票数。此设置对应于 votes mongod 副本集配置选项。

Priority

指定节点在选举期间的优先级。优先级为 0 的副本集节点无法成为主节点,也无法触发选举。此设置对应于 priority mongod 副本集配置选项。

Delay

指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于 secondaryDelaySecs mongod 副本集配置选项。

Build Indexes

指定 true 以指示 mongod 建立索引。此设置对应于 buildIndexes mongod 副本集配置选项。

Tags

指定与副本集关联的一个或多个标签。此设置对应于 tags mongod 副本集配置选项。

有关副本集标签的完整文档,请参阅副本集标签

Add a Mongod

添加额外的 mongod 进程作为副本集节点。

添加新的 mongod 进程也会更新 Cluster Configuration 部分的进程列表。您必须配置新进程的 VersionData DirectoryLog File

如要向集群添加其他分片,请执行以下操作:

  1. 单击 Add a Shard(连接)。

  2. Cluster Configuration 部分下,为分片中的每个 mongod 设置以下参数:

    • Version

    • Data Directory

    • Log File

5

Ops Manager 会根据您为配置服务器选择的 MongoDB 版本,为您的配置服务器设置显示不同的标题。

MongoDB 3.2或更高版本:

Member Configuration部分中,单击Config Server Replica Set Settings打开 CSRS 配置选项。 每个配置服务器副本集成员都有以下选项:

设置
说明
Member

从菜单中选择以下副本集节点角色之一:

  • Default

    副本集承载数据的节点,可以成为主节点,在选举中投票。

  • 投票节点

    副本集未承载数据的节点,可以在选举中投票。对应于 arbiterOnly 副本配置选项。

  • Hidden

    副本集承载数据的节点,可以在选举中投票。对应于 hidden 副本配置选项。

  • 延迟隐藏

    副本集承载数据的节点,可以在选举中投票。对应于 secondaryDelaySecshidden 副本配置选项。

Hostname

从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。

此主机名可以是主机名、FQDNIPv4 地址或 IPv6 地址。

Port

指定 mongod进程的 IANA 端口号。此设置对应于net.port配置文件选项。 默认为27017

mongod 必须具有指定端口的独占访问权限。如果将多个 mongod 进程部署到单个主机,则必须为每个进程选择唯一的未使用端口。

Votes

指定副本集节点在选举期间拥有的票数。此设置对应于 votes mongod 副本集配置选项。

Priority

指定节点在选举期间的优先级。优先级为 0 的副本集节点无法成为主节点,也无法触发选举。此设置对应于 priority mongod 副本集配置选项。

Delay

指定此节点应“滞后于”主节点的“滞后”秒数。此设置对应于 secondaryDelaySecs mongod 副本集配置选项。

Build Indexes

指定 true 以指示 mongod 建立索引。此设置对应于 buildIndexes mongod 副本集配置选项。

Tags

指定与副本集关联的一个或多个标签。此设置对应于 tags mongod 副本集配置选项。

有关副本集标签的完整文档,请参阅副本集标签

Add a Mongod

添加额外的 mongod 进程作为副本集节点。

添加新的 mongod 进程也会更新 Cluster Configuration 部分的进程列表。您必须配置新进程的 VersionData DirectoryLog File

MongoDB 3.0或更早版本

Member Configuration(成员配置)部分中,单击 Config Server Settings(配置服务器设置)打开配置服务器选项。每个配置服务器都具有以下选项:

设置
说明
Hostname

从菜单中选择 Ops Manager 自动化将副本集成员部署到的主机。 该菜单仅列出 Ops Manager 自动化下的主机。有关向 Ops Manager 自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。

此主机名可以是主机名、FQDNIPv4 地址或 IPv6 地址。

Port

指定 mongod进程的 IANA 端口号。此设置对应于net.port配置文件选项。 默认为27017

mongod 必须具有指定端口的独占访问权限。如果将多个 mongod 进程部署到单个主机,则必须为每个进程选择唯一的未使用端口。

6

Member Configuration 部分中,单击 Mongos Settings 打开 mongos 配置选项。每个 mongos 进程都有以下选项:

设置
说明
Hostname

从菜单中选择MongoDB Ops Manager Automation 将mongos部署到的托管。 该菜单仅列出MongoDB Ops Manager自动化下的主机。 有关向MongoDB Ops Manager自动化添加服务器的完整文档,请参阅预配服务器以实现自动化。

此主机名可以是主机名、FQDNIPv4 地址或 IPv6 地址。

Port

指定 mongos进程的 IANA 端口号。此设置对应于net.port配置文件选项。 默认为27017

mongos 必须具有指定端口的独占访问权限。如果将多个 mongos 进程部署到单个主机,则必须为每个进程选择唯一的未使用端口。

Add a Mongos

单击以添加其他 mongos 进程。

7

Replication Settings部分包含集群中每个副本集的以下配置选项:

设置
说明
Protocol Version

选择副本集使用的复制协议版本。操作设置对应 protocolVersion 副本集配置选项。

有关更多信息,请参阅副本集协议版本

Chaining Allowed

指定 true,允许节点从其他从节点进行复制。此设置对应于 chainingAllowed 副本集配置选项。

Write Concern Majority Journal Default

如果写关注未明确指定日志选项 j,则确定 {w:"majority"} 写关注的行为。此设置对应于 writeConcernMajorityJournalDefault 副本集配置选项。

Heartbeat Timeout (secs)

指定副本集节点等待彼此成功心跳的秒数。此设置对应 heartbeatTimeoutSecs 副本集配置选项。

Election Timeout (ms)

指定检测副本集的主节点无法访问的时间限制(以毫秒为单位)。此设置对应于 electionTimeoutMillis 副本集配置选项。

CatchUp Timeout (ms)

指定新选出的主节点与可能有更多近期写入操作的其他副本集节点进行同步(赶上)的时间限制(以毫秒为单位)。此设置对应于 catchUpTimeoutMillis 副本集配置选项。

CatchUp Takeover Delay (ms)

指定节点在确定自己领先于当前主节点后启动追赶接管的等待时间(以毫秒为单位)。此设置对应于 catchUpTakeoverDelayMillis 副本集配置选项。

Last Error Defaults

指定副本集的默认写关注。仅当写入操作或 getLastError 未指定其他写关注时,副本集才使用此写关注。

如果未设置此选项,则副本集的默认写关注只需要主节点的确认。

以文档的形式指定此选项,即 {"w":2}

Force Reconfigure

指定要强制重新配置副本集。当设置为 Yes(是)时,即使其大多数节点不可用,MongoDB 助手也会强制副本集接受新配置。

警告:强制重新配置副本集可能会导致多数提交写入操作回滚

请谨慎操作。如果您对此操作的潜在影响有任何疑问,请联系 MongoDB 支持团队

要学习;了解更多信息,请参阅MongoDB Server手册中的重新配置具有不可用成员的副本集

8

Default Read Concerns/Write Concerns(默认读关注/写关注)卡中,您可以配置 MongoDB 为此集群的读写操作请求的默认确认级别。设置默认的读关注和写关注有助于使用仲裁节点进行 MongoDB 5.0 及更高版本的部署。

Default Read Concerns(默认读关注)部分中,您可以为从集群读取的数据设置一致性和隔离性属性

Level(级别)下拉菜单中选择默认读关注。您可以选择以下值:

Default Write Concerns 部分,您可以为集群写操作配置从 MongoDB 请求的默认确认级别。您可以设置三个参数:

Parameter
w 选项

必须确认写入操作的 mongod 实例的所需数量。您可以输入以下值之一:

  • majority,MongoDB 5.0 及更高版本的默认值,或

  • 任何正整数。MongoDB 4.4 默认为 1

j 选项
指示写入确认是否必须写入磁盘日志的标志。
wtimeout
写关注的所需时间限制,以毫秒为单位。当您将 w 设置为大于 1(包括 majority)的值时,请设置此值。
9

Advanced Configuration Options(高级配置选项)部分允许您为部署中的每个 MongoDB 进程设置 MongoDB 运行时选项

要添加选项:

  1. 单击 Add Advanced Options(连接)。

  2. 单击 Select a Startup Option(选择启动选项),然后选择配置选项

  3. Ops Manager 显示上下文相关输入,用于为所选选项配置可接受的值。

  4. 单击 Add(添加)将所选选项及其相应值添加到集群中所选进程类型的每个进程。

Ops Manager 列出集群中按逻辑分组的每个进程。单击逻辑分组左侧的灰色箭头,显示其子分组和进程。 您可以根据需要单独修改每个进程的高级选项。

有关可用 Advanced Configuration Options(高级配置选项)的说明,请参阅 MongoDB 部署的高级选项

10

Ops Manager 会将您重定向到Deployment视图,在 Ops Manager 开始部署之前,您必须在该视图中查看集群配置。

11
12

Ops Manager 会显示建议进行的更改。

  1. 如果满意,请单击 Confirm & Deploy(确认和部署)。

  2. 如果要进一步更改配置,请单击 Cancel(取消)。单击集群的 Modify(修改)进行其他更改。

后退

部署副本集