irpas技术客

Mongodb 副本集搭建(windows)_铃兰丶物语_mongodb windows 副本集

未知 3544

副本集简单来说就是由一个主节点和多个副本节点组成的数据副本。

主节点修改数据以后将数据推送到副本节点上,副节点不可新增数据。整个副本集维护相同的数据,通过它能够实现数据备份,读写分离和自动故障转移等。

mongodb可以在下面这个链接中选择社区版下载,如下:

https://·/try/download

博主将使用windows,mongodb4.0版本,在本地环境操作一下副本集配置。具体操作如下:

1、创建3个端口不同的数据节点

mongod -port 27017 -bind_ip=127.0.0.1 -dbpath=E:\mongodb\data\db1 -replSet rs1 mongod -port 27018 -bind_ip=127.0.0.1 -dbpath=E:\mongodb\data\db2 -replSet rs1 mongod -port 27019 -bind_ip=127.0.0.1 -dbpath=E:\mongodb\data\db3 -replSet rs1

注:replSet大小写区分,3个节点要用一样的副本集名称。dbpath要用不同的文件路径

2、副本集初始化与同步

创建完成以后,连接上27017这个数据节点

mongo -port 27017

初始化副本集,此处使用默认配置。

使用rs.add("ip:port")指令将27018,270192个数据节点也添加进来。

?3、数据新增测试

在主节点新建一个repltest库,创建一条数据。

?登录副节点查看数据,此时可以看到数据已经同步进来了,如下图

?注:副节点要先使用rs.secondaryOk()指令才能读数据,而不是rs.slaveOk()指令。

4、故障转移测试

先手动关闭27017节点,查看是否能进行主备切换,如下图可见,当27017节点故障时,27018节点经过选举成为了新的主节点。

?也可以使用rs.stepDown()指令,使当前主节点从primary降级为secondary节点,并默认维持60s,以此让其他secondary节点选举出新的主节点。

注:要在主节点下执行该指令

?5、rs常用指令整理

rs是一个全局变量,定义了很多的函数供我们使用,也没有什么必要去硬背,用多了就熟悉了,可以使用rs.help()查看所有rs函数

rs.status() 查看副本集装填 rs.initiate() 使用默认参数初始化副本集 rs.initiate(cfg) 使用cfg参数初始化副本集 rs.conf() 查看副本集的参数 rs.reconfig(cfg) 使用新的cfg参数初始化副本集 rs.add(hostportstr) 添加一个新的副本集节点 rs.stepDown([stepdownSecs, catchUpSecs]) 主节点放弃primary身份,可带时间 s.remove(hostportstr) 移除节点 rs.secondaryOk() 允许查看副节点的数据 db.isMaster() 查看谁是主节点 db.hello() 查看谁是主节点

6、节点角色

出了primary和secondary角色外,还有隐藏节点、仲裁节点、无选举权节点等等。这里就不赘述了,感兴趣的可以在官方文档里查看一下,如下:

https://docs.mongoing.com/replication/member-configuration-tutorials

整理到这,后续要是有补充的再补充吧。。。(layne)


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #mongodb #Windows #副本集 #副本集搭建windows