Mongodb的入门mongodb4副本集

Posted huhongy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb的入门mongodb4副本集相关的知识,希望对你有一定的参考价值。

介绍:

  mongo4云19年2月16开发公布,至今已经半年,前段时间一直在用mongo3系列,4X系列新增很多新特性,下面我来简单介绍一下,先从副本集开始

副本集:

  主节点宕机时从节点会自动切换成主节点。 mongo4后不再提供主从复制机制

  搭建副本集步骤:

  第一步:安装mongo   参考:Mongodb的入门(7)window安装mongodb4

    cmd >  mongo   

   技术图片

   默认安装成功了(mongo4的安装比3.x简单,我安装博客有部分图没截图,大家有需要的可以百度一下mongo4的安装)

  注意: 到这我们就安装成功了,但是我们不会使用默认的mongo,下面来搭建副本集的准备条件   

  第二步: 准备副本集文件夹 cluster 

      在该文件夹下 创建db1  db2  db3        db1下创建db和log文件夹来保存数据和日志   db2和db3 同理

    技术图片

  第三步,注册服务: 

  

 1 # 停止服务
 2 net stop mongodb41
 3 net stop mongodb42
 4 net stop mongodb43
 5 
 6 # 删除服务
 7 sc delete mongodb41
 8 sc delete mongodb42
 9 sc delete mongodb43
10 
11 # 注册服务   
12     注意:--dbpath 指向v保存目录    --config  指向配置文件   暂时只是指向生成服务,授权后续会继续介绍
13  --dbpath 方式注册服务    
14 mongod.exe --port 27041 --dbpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db1\\data\\db" --logpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db1\\log\\mongo.log" --install --serviceName "mongodb41"
15 mongod.exe --port 27042 --dbpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db2\\data\\db" --logpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db2\\log\\mongo.log" --install --serviceName "mongodb42"
16 mongod.exe --port 27043 --dbpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db3\\data\\db" --logpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db3\\log\\mongo.log" --install --serviceName "mongodb43"
17 --config 方式注册服务(不能在同一台机器上使用,服务名冲突)
18 mongod.exe --config "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db1\\mongod.cfg" --install --serviceName "mongodb41" --serviceDisplayName mongodb41
19 mongod.exe --config "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db2\\mongod.cfg" --install --serviceName "mongodb42" --serviceDisplayName mongodb42
20 mongod.exe --config "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db3\\mongod.cfg" --install --serviceName "mongodb43" --serviceDisplayName mongodb43    
21 
22 
23 # 启动服务
24 net start mongodb41
25 net start mongodb42
26 net start mongodb43
27 
28 
29 配置主从   (mongo4之后不再支持主从)
30 
31 副本集:
32     
33 
34     mongod.exe --port 27041 --dbpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db1\\data\\db" --logpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db1\\log\\mongo.log" --replSet=huhy --install --serviceName "mongodb41"
35     
36     mongod.exe --port 27042 --dbpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db2\\data\\db" --logpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db2\\log\\mongo.log" --replSet=huhy --install --serviceName "mongodb42"
37     
38     mongod.exe --port 27043 --dbpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db3\\data\\db" --logpath "D:\\newfiber\\db\\mongdb\\MongoDB\\Server\\cluster\\db3\\log\\mongo.log" --replSet=huhy --install --serviceName "mongodb43"    

 

   第四步:搭建副本集

   
1> 启动一个服务器实例,键入rs.initiate()初始化副本集; 
2> 键入rs.conf()配置副本集; 
3>rs.add()添加服务器进入副本集中。 
rs.add(127.0.0.1:27041)
rs.add(127.0.0.1:27042)
rs.add(127.0.0.1:27043)
4> rs.status() 查看状态 rs.isMaster()是不是主节点 
5> 重点: 副本集启动后从库是无法查询的,,我们可以通过 db.getMongo().setSlaveOk(); 修改一下,而后再查即可。
mongo3之前副本集搭建完成也是无法查询的,我们可以通过rs.slaveOk() 进行配置同步即可查询,上面是mongo4的配置

    mongo3.6的副本集请参考  Mongodb的入门(6)副本集

 

以上是关于Mongodb的入门mongodb4副本集的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB4.0 WINDOWS环境下 副本集分片部署

CentOS7.4搭建基于用户认证的MongoDB4.0三节点副本集集群

MongoDB学习笔记:副本集

MongoDB副本集replica set --副本集环境搭建

Mongodb副本集和分片

mongodb4.0分片集群安装