Docs 菜单
Docs 主页
/
MongoDB Cloud Manager
/

将副本集成员迁移到新服务器

在此页面上

  • Overview
  • Considerations
  • 步骤

您可以通过 Cloud Manager 控制台将托管副本集的一个成员替换为另一个成员。 使用此进程可将副本集的成员迁移到新的底层服务器。 此过程要求您:

  1. 预配新服务器。

  2. 向副本集添加一个额外成员。

  3. 关闭副本集的旧成员。

  4. 取消托管旧成员(可选)。

添加新的副本集成员时,该成员必须执行初始同步,这需要时间才能完成,具体取决于数据集的大小。 有关初始同步的更多信息,请参阅副本集数据同步。

您可以一次删除或迁移多个副本集成员,但必须保留大多数投票成员。 如果需要删除更多投票成员,请一次删除一个。

例子

示例 1

您有一个四节点副本集。 所有节点都是有投票权的成员。 您只能删除一个节点,这会保留四个投票节点中三个的多数。 您可以稍后从剩余的三节点副本集中删除另一个节点。这会保留大多数剩余投票节点。

例子

示例 2

您有一个四节点副本集。 三个节点为有投票权成员,一个节点为无投票权成员。 您可以同时删除一名有投票权成员和一名无投票权成员。 这保留了三个投票节点中两个的多数。

要了解有关投票的更多信息,请参阅副本集高可用性副本集选举。

在迁移期间删除成员可能会影响副本集确认写入的能力,具体取决于您使用的写关注级别。 有关更多信息,请参阅 MongoDB 手册中的写关注

对要迁移的副本集的每个成员单独执行此过程。

1

请参阅预配服务器。

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

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

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

    显示“部署”页面。

3

单击部署的Processes标签页。

显示“进程”页面。

4
5

Member Configuration部分中,单击Add a Mongod添加新的 mongod成员。

Cloud Manager 显示mongod的以下配置设置:

设置
说明
Member

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

  • Default

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

  • 投票节点

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

  • Hidden

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

  • 延迟隐藏

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

Hostname

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

此主机名可以是主机名、 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 副本集配置选项。

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

确保选择与新配置的服务器相对应的Hostname

6

Replica Set Configuration部分中,查看Replica Set Settings标题下的表。 Process Name列列出了每个副本集节点的主机名和端口。 Cloud Manager 最初会将进程分组在副本集名称下。 单击设置名称左侧的 图标列出与该副本集关联的所有节点。

为与新添加的成员对应的Process Name配置以下设置:

设置
说明
Version

选择 mongod 进程的 MongoDB Server 版本。

  • Version

  • 选择 mongod 进程的 MongoDB Server 版本。

Data Directory

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

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

Log File

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

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

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

7
8
9

否则,请单击 Cancel,您可以进行其他更改。

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

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

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

    显示“部署”页面。

11

单击副本集的名称,打开集群视图。 确认每个新成员的状态不再处于Recovering状态。

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

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

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

    显示“部署”页面。

13
  1. 单击 Modify(连接)。

  2. 导航至 Member Configuration 部分。

  3. 单击要删除的成员的省略号按钮。

  4. 从菜单中选择Remove from Replica Set

重要

删除副本集主节点 (primary node in the replica set)节点成员会触发选举。 在选举完成之前,副本集无法进程写入操作。 有关副本集选举的完整文档,请参阅副本集选举。

  1. 单击 Save(连接)。

#.单击Review Changes ,然后单击Confirm & Deploy 。 Cloud Manager将已删除的副本集节点转换为Deployment视图中可见的独立运行集群。

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

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

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

    显示“部署”页面。

15

单击独立运行的省略号图标并选择Shutdown 。 单击Review Changes ,然后单击Confirm & Deploy

16

要从 Cloud Manager 经理中删除成员,请单击...省略号图标并选择Remove from Cloud Manager

Cloud Manager 不会自动关闭从管理中删除的进程。如果在上一步中没有关闭进程,则必须通过直接连接到主机来手动关闭。

有关从 Cloud Manager 经理中删除进程的完整文档,请参阅停止管理和/或监控一个部署。

后退

将副本集转换为分片集群