MongoDB副本集搭建

本文详细介绍了如何搭建MongoDB副本集,包括准备工作、创建数据目录、初始化副本集、添加节点、测试主从复制和故障转移。在故障转移测试中,当主节点关闭时,从节点C成功晋升为主节点,验证了副本集的高可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作

准备3台主机,这里以2台云主机测试,其中一台开启2个端口,模拟2台主机(代号A,B),另一台则代号C
A 主机txy ip 123.206.81.79 端口 27017
B 主机txy ip 123.206.81.79 端口 27018
C 主机aly ip 47.93.16.117 端口 27017

配置安全组,确保每个主机中mogodb务能被外界访问。

搭建步骤

step1 分别为每台主机创建数据目录

step2 为副本集起个名字
名字是为了易于与别的副本集区分,也是为了方便地将整个集合视为一个整体。这里就命名为“myreplace”

step3 启动主机节点
启动A主机


./mongod --port 27017 --dbpath /root/data/repl1 --bind_ip 0.0.0.0 --replSet myreplace/123.206.81.79:27018

启动B主机


./mongod --port 27018 --dbpath /root/data/repl2 --bind_ip 0.0.0.0 --replSet myreplace/123.206.81.79:27017

注意: –replSet 作用: 让服务器知晓在这个个myreplace副本集中还有别的伙伴
–replSet myreplace/txy:27017 (副本集名称/集群中其他节点的主机和端口)
启动了几台服务器之后,日志会告诉你副本集没有进行初始化。因为还差最后一个一步初始化。

step4 初始化

var config = { 
    _id:"myreplace", 
    members:[
        {_id:0,host:"123.206.81.79:27017"},//主机A
        {_id:1,host:"123.206.81.79:27018"},//主机C
    ]
}

连接任意一台主机(以A主机为例),使用如下初始化命令

选择 管理员库

准备配置参数

初始化配置参数

分别查看主机节点状态
A主机 主节点状态

B主机 从节点状态


添加节点步骤

  • 为C主机创建数据目录

  • 启动 C主机


    ./mongod --port 27017 --dbpath /root/data/repl3 --bind_ip 0.0.0.0 --replSet myreplace/123.206.81.79:27017

  • 主节点admin库中添加从节点信息
  • 查询C主机状态

测试主从复制

A节点 向user库中user表中添加数据

B节点 能够访问到,主从复制测试成功


测试故障转移

关闭主节点主机

再次查看几个从节点状态,发现C主机已经被选举为主节点,证明故障转移测试成功


其他

  • 删除节点
    在当前副本集的主节点使用如下命令
    rs.remove(“主机id:端口号”);//只能删除副本节点
  • 查看节点状态
    rs.status();
  • 设置从节点临时操作数据权限
    rs.slaveOk();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值