Mongodb 副本集(官方推荐)

    上篇说到了主从是不能解决自动切换的问题的,10gen团队为了解决这个问题,推出了新的模式--副本集模式。          

     副本集是在主从的基础上改进而来的,对比主从模式,副本集最大的进步是搞定了手动切换的问题—当主节点挂了,会自动选举下一个主节点

 

 

    具体如何配置呢?

1.取名
  这里给副本集取个名 ttpai
2.启动各节点

 

mongod --dbpath=E:\mongodb\3.2.9\slaveA\db --logpath=E:\mongodb\3.2.9\slaveA\log\log_slaveA.txt --logappend --port=27018 --replSet=ttpai
mongod --dbpath=E:\mongodb\3.2.9\slaveB\db --logpath=E:\mongodb\3.2.9\slaveB\log\log_slaveB.txt --logappend --port=27019 --replSet=ttpai
mongod --dbpath=E:\mongodb\3.2.9\slaveC\db --logpath=E:\mongodb\3.2.9\slaveC\log\log_slaveC.txt --logappend --port=27020 --replSet=ttpai
mongod --dbpath=E:\mongodb\3.2.9\slaveD\db --logpath=E:\mongodb\3.2.9\slaveD\log\log_slaveD.txt --logappend --port=27021 --replSet=ttpai
mongod --dbpath=E:\mongodb\3.2.9\mongodb\db --logpath=E:\mongodb\3.2.9\mongodb\log\log.txt --logappend --port=27017 --replSet=ttpai

3.初始化副本集

 

 

use admin;
db.runCommand(
 {
 "replSetInitiate":{
   "_id":"ttpai",
   "members":[
     {"_id":1,"host":"127.0.0.1:27017"},
	 {"_id":2,"host":"127.0.0.1:27018"},
	 {"_id":3,"host":"127.0.0.1:27019"}
   ]
   }
 }
);


初始化成功后,可以在log文件中查看具体是哪个成为主(primary),哪个成为子节点(secondary)
初始化成功后,加入成员rs.add("ip:port"); 比如:rs.add("127.0.0.1:27020");

 

 

 

4.增加仲裁节点

 

use admin;
rs.addArb("127.0.0.1:27020");

 

 

 

 

 

查看集群的服务器状态
rs.status();
一个复制集中最多12个副本集节点,但最多只有7个投票成员(包括primary),其余为非投票成员(Non-Voting Members)。
非投票成员是复制集中数据的备份副本,不参与投票,但可以被投票或成为主节点。

 

    副本集解决了自动选举的问题,但是,当我们的数据量非常大,到了TB的时候,一个机器已经不能负载了,那能怎么处理呢?


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值