mongodb本地伪副本集群部署(Windows)

环境准备

本教程演示 mongodb4.4 的副本集部署(一主两从,使用本地伪分布式)。

节点配置
主节点localhost:27018
从节点localhost:27019
从节点localhost:27020

每一个节点(实例)都手动创建对应的数据目录(data)和日志目录(log),bin目录从mongodb根目录复制。例如:
mg1
完成后应该是这样的,每个节点(实例)都有bin、data、log目录:
在这里插入图片描述

启动实例(服务)

语法:

mongod -port 端口号  -dbpath 数据路径 -logpath 日志路径 -replSet 副本集名称

进入每个实例的bin目录,使用cmd执行命令启动实例:

主节点(mg1)

mongod -port 27018 -dbpath D:\mongodbServer\mg1\data -logpath D:\mongodbServer\mg1\log\mongo1.log -replSet rs0

从节点1(mg2)

mongod -port 27019 -dbpath D:\mongodbServer\mg2\data -logpath D:\mongodbServer\mg2\log\mongo1.log -replSet rs0

从节点2(mg3)

mongod -port 27020 -dbpath D:\mongodbServer\mg3\data -logpath D:\mongodbServer\mg3\log\mongo1.log -replSet rs0

以上节点节点启动以后不要关闭命令行窗口,因为启动的都是一次性服务,关闭会导致进度丢失!

实例启动完成以后默认是没有输出的:
在这里插入图片描述
如果遇到启动失败,主要检查端口是否被占用,和路径配置问题。若都没问题则考虑以管理员身份启动cmd。

配置副本集

保持前面启动的实例开启,并进入一个任意节点启动服务,此处使用mg1:
在这里插入图片描述
进行集群的配置:

use admin

配置集群

config={_id:"rs0",members:[
... {_id:0,host:"localhost:27018",priority:5},
... {_id:1,host:"localhost:27019",priority:3},
... {_id:2,host:"localhost:27020",priority:1},
... ]}

参数说明:

_idpriority
副本集名称优先级,数字越大,优先级越高

执行指令使得配置生效:

rs.initiate(config)

演示

在这里插入图片描述
PRIMARY是主节点,SECONDARY是从节点。
配置生效以后就会变成副本集名称:PRIMARY,但是此处还是副本集名称:SECONDARY> ,此时我们只需要查看副本集状态即可更正:

rs.status()

验证副本集

启动从节点

mongo -port 27019

在这里插入图片描述

验证

show dbs

在这里插入图片描述
我们发现执行指令会报错无法执行,这是因为刚刚配置好的副本集中的从节点是无法进行数据库操作的,要先进行从节点永久化设置:

rs.secondaryOk() 

再次验证副本集,先在主节点中增加数据:
在这里插入图片描述
在从节点上验证:
在这里插入图片描述
可以发现从节点已经可以正常使用了,注意:从节点无法执行增删改,只可以使用查功能。

补充:也可以关闭一个节点的实例,验证集群是否进行了故障转移,正常来说主节点会转移到优先级高的从节点,再次启动mg1实例,会发现mg1已经不是主节点了。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值