MST

星途 面试题库

面试题:MongoDB副本集成员变更:新增成员的基本步骤

在MongoDB副本集中,阐述新增一个成员的基本操作步骤。需要说明操作前要做哪些准备,以及在哪些节点执行相关命令。
13.4万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

操作前准备

  1. 环境检查
    • 确认新成员服务器的硬件资源满足需求,如内存、磁盘空间等。
    • 确保新成员服务器安装了合适版本的MongoDB,版本应与现有副本集成员的版本兼容。
    • 网络配置正确,新成员服务器与现有副本集成员之间能正常通信,开放必要的端口(默认为27017)。
  2. 数据准备(可选)
    • 如果新成员是作为热备节点加入,不需要预先加载数据。
    • 若新成员是作为数据承载节点加入,可使用mongodumpmongorestore工具从现有成员节点备份和恢复数据,以便快速同步数据状态,减少加入副本集后的同步时间。

操作步骤及执行节点

  1. Primary节点操作
    • 登录到Primary节点的MongoDB shell。
    • 使用rs.add()命令添加新成员。例如,如果新成员的主机名为newmember.example.com,端口为27017,命令如下:
    rs.add("newmember.example.com:27017")
    
  2. 新成员节点操作
    • 启动新成员节点的MongoDB服务,确保其配置文件中的replSetName与现有副本集名称一致。
    • 新成员启动后,会自动与副本集中的其他成员进行握手和数据同步,无需额外手动操作。在同步过程中,可以通过rs.status()命令在Primary节点查看同步状态,等待新成员完成同步并成为副本集的正常成员。

在添加成员过程中,若遇到问题,可通过查看MongoDB日志文件来诊断和解决问题。