副本集就是有自动故障恢复功能的主从集群。主从集群和副本集最为明显的区别就是副本集没有固定的主节点。可以把副本集当做一个集群,整个集群会选出一个主节点,当其不能正常工作时则会激活其它节点。系统:CentOS 5.6 x86_64mongo版本:mongodb-linux-x86_64-2.0.6.tgzServer1 10.0.1.121:20001server2 10.0.1.212:20001Arbiter 10.0.1.212:20002
目录规划:数据目录和日志单分出来Server1:/mongodb/mlogs应用程序日志统计放到/usr/local/mongoServer2:/mongodb/mlogs/arbiter应用程序日志统计放到/usr/local/mongo
部署:1.防火墙开启20001端口,关闭selinux
2.分别在两台机器上安装mongo服务tar xf mongodb-linux-x86_64-2.0.6.tgz -C /usr/local/mongo3.创建key文件Server1:mkdir /etc/keysecho "test123456" > r0Server2:mkdir /etc/keysecho "test123456" > r1Arbiter:echo "test123456" > r2chmod 600 r0 r1 r24.分别启动Server1和Server2的mongo服务Server1:/usr/local/mongo/bin/mongod --replSet rs1 --keyFile /usr/local/mongo/key/r0 --port 20001 --fork --dbpath=/mongodb/ --logpath /mlogs/Server1.log--fork为后台启动netstat -tunlp | grep mongo 查看端口是否被开启加入到开机启动脚本 /etc/rc.localServer2:/usr/local/mongo/bin/mongod --replSet rs1 --keyFile /usr/local/mongo/key/r1 --port 20001 --fork --dbpath=/mongodb/ --logpath /mlogs/Server2.lognetstat -tunlp | grep mongo 查看端口是否被开启
/usr/local/mongo/bin/mongod --replSet rs1 --keyFile /usr/local/mongo/key/r2 --port 20002 --fork --dbpath=/arbiter --logpath /mlogs/arbiter.log
加入到开机启动脚本 /etc/rc.local使机器重启后继续生效
选项:--only在从节点上指定复制某个数据库(默认复制所有数据库)--slavedelay用在从节点上,当应用主节点的操作时增加延时(秒)--fastsync以主节点的数据快照为基础启动从节点,如果数据目录一开始是主节点的数据快照,从节点用这个选项启动要比完整同步快多了--autoresync如果从节点与主节点不同步,则自动重新同步--oplogSize主节点oplog的大小(MB)5.配置及初始化Replica Sets > config_pongo={..._id:"pongo",members:[...{_id:0,host:"10.0.1.121:20001",priority:1}, #如果有多个节点继续往下增加...{_id:1,host:"10.0.1.212:20001",priority:2},...{_id:2,host:"10.0.1.212:20002",arbiterOnly : true}]...}rs.initiate(config_rs1); 初始化Replica Sets
注:关于扩展节点和添加仲裁设备请看最下方、副本集中节点的类型standard:常规节点,它存储一份完整的数据副本,参与选举投票可以成为活跃节点。passive:存储了完整的数据副本,参与投票,不能成为活跃节点。arbiter:仲裁者只参与投票,不能接受复制数据,也不能成为活跃节点。每个参与节点(非仲裁者)都有个优先权,优先权为0是被动的,不能成为活跃节点,优先值不为0,则按照大小选出活跃节点。如果2个值一样,则数据最新的为活跃节点。在节点配置中修改priority键,来配置成标准节点或被动节点。
注:如果配置成功master会变成PRIMARY slave会变成SECONDARY
6.使用rs.status()查看副本集的状态信息
"health" : 1, --1表明正常; 0表明异常、"state" : 1, -- 1表明是Primary; 2 表明是Secondary;"stateStr" : "PRIMARY", --表明此机器是主库
Oracle 分区交换-归档数据MySQL 定时备份操作相关资讯 MongoDB MongoDB副本集 MongoDB读写
- MongoDB 搭建副本集(Replica Set (今 07:51)
- MongoDB的副本集节点角色介绍及选 (06月13日)
- MongoDB集群上副本集(replica set (04月10日)
| - MongoDB副本集实现及读写分离 (06月13日)
- MongoDB 复制(副本集) (04月14日)
- MongoDB 副本集+分片 架构部署 (04月10日)
|
本文评论 查看全部评论 (0)