发表于 2015-7-9 12:03:13

MongoDB 学习笔记(三) MongoDB (replica set) 集群配置

  
    MongoDB Replica Sets的结构类似于以集群,完全可以把他当成一个集群,因为他确实与集群实现的作用是一样的:如果其中一个节点出现故障,其他的节点会马上将业务接管过来。而无需停机操作
  MongoDB Replica Sets的配置步骤:
  1:启动三个节点
  (mongodb\mongodb\bin\为mongo 所在文件夹)
  启动第1个节点:
mongodb\mongodb\bin\mongod --replSet rs3/127.0.0.1:28011,127.0.0.1:28012 --port 28010 --oplogSize 10 --dbpath d:\MongoDB\data\data\r0 --logpath=d:\MongoDB\data\log\log.log --logappend
  启动第2个节点:
mongodb\mongodb\bin\mongod --replSet rs3/127.0.0.1:28010,127.0.0.1:28012 --port 28011--oplogSize 10 --dbpath d:\MongoDB\data\data\r1 --logpath=d:\MongoDB\data\log\log1.log --logappend
  启动第3个节点:
mongodb\mongodb\bin\mongod --replSet rs3/127.0.0.1:28010,127.0.0.1:28011 --port 28012--oplogSize 10 --dbpath d:\MongoDB\data\data\r2 --logpath=d:\MongoDB\data\log\log2.log --logappend
  
  介绍一下涉及到的参数
  --oplogSize 日志操作文件的大
  --dbpath   数据文件路径
  --logpath日志文件路径
  --port      端口号,默认是27017.我这里使用的也是这个端口号.
  --replSet   复制集的名字,一个replica sets中的每个节点的这个参数都要用一个复制集名字,这里是test.
  --replSet test/这个后面跟的是其他standard节点的ip和端口
  --maxConns   最大连接数
  --fork       后台运行
  --logappend   日志文件循环使用,如果日志文件已满,那么新日志覆盖最久日志。
  --keyFile       标识同一集群的认证私钥
  其中在启动节点时一定要加上oplogSize 的参数 为其设置大小,不然在64位操作系统上的mongodb,oplogs都相当大-可能是5%的磁盘空间,要根据情况设置个合理的值。
  
  2: 配置节点信息
  任选一个节点 依次执行如下命令:
  mongo --port 28010
  confinre={_id:'rs3',members:[{_id:0,host:'127.0.0.1:28010',priority:1},{_id:1,host:'127.0.0.1:28011'},{_id:2,host:'127.0.0.1:28012'}]}
  rs.initiate(confinre)
  rs.status()
  执行结果如下:

  Mongodb 的replica Set 架构是通过一个叫 oplog 的固定长度的capped collection 来存储操作,用于记录replica Sets 操作日志。它存在与local 库中。
  Mongodb 的replica Set 的配置信息 存储在 system.replset 集合中
  
  3:读写分离

  4:故障转移
  某一个节点的mongodb 出现异常,系统自动将其他节点设置为主库
  
  部分参考: http://blog.iyunv.com/bloggongchang/article/details/7272403
  
  
页: [1]
查看完整版本: MongoDB 学习笔记(三) MongoDB (replica set) 集群配置