Docs 菜单

Docs 主页MongoDB Ops Manager

部署分片集群

在此页面上

  • 先决条件
  • 考虑因素
  • 步骤

分片集群为大型数据集提供水平扩展,并通过将数据集分布在一组服务器上来实现高吞吐量操作。

要了解有关分片的更多信息,请参阅 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 外部的 MongoDB 部署与 Kubernetes 内部的 MongoDB 部署混用。

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

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

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

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

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

在分片删除过程中,所有分片集合都保持在线且可用。但是,在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

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

Process Name

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

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

注意

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

Version

选择mongodmongos进程的 MongoDB 服务器版本。

注意

可用版本

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

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

Data Directory

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

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

Log File

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

例子

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

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

4

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

设置
说明
Member

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

  • Default

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

  • 投票节点

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

  • Hidden

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

  • 延迟隐藏

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

Hostname

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

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

Port

指定 mongodnet.port进程的 IANA 端口号。此设置对应于 配置文件选项。默认为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

指定 mongodnet.port进程的 IANA 端口号。此设置对应于 配置文件选项。默认为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

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

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

6

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

设置
说明
Hostname

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

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

Port

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

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

Add a Mongos

单击可添加其他mongos进程。

7

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

设置
说明
Protocol Version

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

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

Chaining Allowed

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

Write Concern Majority Journal Default

{w:"majority"}如果写关注未显式指定日志选项j ,则确定 写关注的行为。此设置对应于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 为集群中的写入操作请求的默认确认级别。您可以设置三个参数:

范围
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(修改)进行其他更改。

← 部署副本集