面试题答案
一键面试操作前准备
- 环境检查:
- 确认新成员服务器的硬件资源满足需求,如内存、磁盘空间等。
- 确保新成员服务器安装了合适版本的MongoDB,版本应与现有副本集成员的版本兼容。
- 网络配置正确,新成员服务器与现有副本集成员之间能正常通信,开放必要的端口(默认为27017)。
- 数据准备(可选):
- 如果新成员是作为热备节点加入,不需要预先加载数据。
- 若新成员是作为数据承载节点加入,可使用
mongodump
和mongorestore
工具从现有成员节点备份和恢复数据,以便快速同步数据状态,减少加入副本集后的同步时间。
操作步骤及执行节点
- Primary节点操作:
- 登录到Primary节点的MongoDB shell。
- 使用
rs.add()
命令添加新成员。例如,如果新成员的主机名为newmember.example.com
,端口为27017,命令如下:
rs.add("newmember.example.com:27017")
- 新成员节点操作:
- 启动新成员节点的MongoDB服务,确保其配置文件中的
replSetName
与现有副本集名称一致。 - 新成员启动后,会自动与副本集中的其他成员进行握手和数据同步,无需额外手动操作。在同步过程中,可以通过
rs.status()
命令在Primary节点查看同步状态,等待新成员完成同步并成为副本集的正常成员。
- 启动新成员节点的MongoDB服务,确保其配置文件中的
在添加成员过程中,若遇到问题,可通过查看MongoDB日志文件来诊断和解决问题。