Mongodb的入门(8)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)副本集

 

猜你喜欢

转载自www.cnblogs.com/huhongy/p/11405379.html