MongoDB实战(9)副本集副本集(上)

  

MongoDB 支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只
有一台是用于写操作。正是由于这个情况,为,MongoDB 提供了数据一致性的保障。担当
Primary 角色的机器能把读操作分发给,奴隶。


MongoDB 高可用可用分两种:

只需要在某一个服务启动时加上-master 参数,而另一个服务加上-slave 与-source 参数,
即可实现同步.MongoDB 的最新版本已不再推荐此方案。

MongoDB 在,,1.6版本对开发了新功能,replica 集,这比之前的,replication 功能要强大一
些,增加了故障自动切换和自动修复成员节点,各个,DB 之间数据完全一致,大大降低了维
护成功。建议使用,replica 集,replica 集故障切换完全自动。
replica  Sets 的结构非常类似一个集群。是的,你完全可以把它当成集群,因为它确实跟集群实现的作用是一样的,其中一个节点如果出现故障,其它节点马上会将业务接过来而无须停机操作。



1,创建数据文件存储路径

 root@Jane:/home/简# mkdir - p/数据/数据/r0
  root@Jane:/home/简# mkdir - p/数据/数据/r1
  root@Jane:/home/简# mkdir - p/数据/数据/r2 

2,创建日志文件路径

 root@Jane:/home/简# mkdir - p/数据/日志

3,创建主从,key 文件,用于标识集群的私钥的完整路径,如果各个实例的,key  file 内容不一
致,程序将不能正常用。

root@Jane:/# mkdir - p/数据/关键   root@Jane:/#呼应这是rs1超级秘密密钥的祝辞//键/r0的数据   root@Jane:/#呼应这是rs1超级秘密密钥的祝辞/数据/键/r1   root@Jane:/#呼应这是rs1超级秘密密钥的祝辞/数据/键/r2   root@Jane:/数据/键# chmod 600 r *

4,启动,3,个实例

 root@Jane:/# mongod——replSet rs1密钥文件/数据/键/r0 - 28010端口- dbpath logpath/数据/数据/数据/r0——/日志/r0。日志——logappend叉
  root@Jane:/# mongod——replSet rs1密钥文件/数据/键/r1——端口28011 dbpath logpath/数据/数据/数据/r1——/日志/r1。日志——logappend叉
  root@Jane:/# mongod——replSet rs1密钥文件/数据/键/r2——端口28012 dbpath logpath/数据/数据/数据/r2——/日志/r2。日志——logappend叉

5,配置及初始化,Replica 集
 MongoDB实战(9)副本集副本集(上)> <br/> </p> <p>其中的{_id: 0,主持人:“127.0.0.1:28010”,优先级:1}说明一下:</p> <p>——成员,IP 及端口,优先级=1,指,主要<br/> <br/> 6,初始化配置</p> <pre类=八?bash;工具栏:假;”>比;rs.initiate (config_rs1);
  {
  “信息”:“现在配置保存在本地。应该> rs.status ()
  {
  “设置”:“rs1

还可以用,isMaster 查看,Replica  Sets 状态。

rs1: PRIMARY>rs.isMaster ()   {   :“setName rs1 ",   “ismaster”:没错,   “二次”:假的,   “主机”:(   “127.0.0.1:28010”,   “127.0.0.1:28012”,   “127.0.0.1:28011”   ],   “主要”:“127.0.0.1:28010”,   “我”:“127.0.0.1:28010”,   “maxBsonObjectSize”: 16777216,   “maxMessageSizeBytes”: 48000000,   “作用”:ISODate (“2013 - 11 - 21 t08:39:09.364z”),   “ok”: 1   }

MongoDB实战(9)副本集副本集(上)