mongodb-主从复制
2016-08-09 10:26
155 查看
1 主从复制: 一个概念,在sqlserver或者说是mysql也有
2 主从复制解决了哪些问题???
读写压力:以前是一个mongodb去承载海量的读和写,这样的话终有瓶颈的。使用一主多从, 从服务器有效的缓解了读的压力,我们使用的web服务器,大多都是读大于写,数据的热备份
我们做备份一般有两种策略
【热备份】 主从复制,那么从就是一套活生生的数据。如果主挂掉了,从的数据还是比较完善的。
【冷备份】 定时的copy从服务器的db
为什么要做冷备份??? 害怕用户的误操作。比如说用户执行了一个delete,那么主从都会没有数据,这个就相当于光盘或者磁带的概念了
这个冷备份,mongodb的主从复制实现了吗?
二:搭建主从备份的步骤
开启master服务器:[administrator@localhost ~]$ cluster/master/mongod --dbpath=cluster/master/db --master -port 27017 --master 标记自己是master服务器。 --port 指定自己的端口,默认是27017
开启slave服务器:
[administrator@localhost ~]$ cluster/slave/mongod --dbpath=cluster/slave/db --slave --source=127.0.0.1:27017 --port 27018 --slave: 标记自己是slave服务器。。 --source: 标记我需要同步的服务器是谁??? 指定的ip。 --port: 开启自己的端口,千万不能和master重复。
观察一下日志:
3.1 master服务器吐出来的日志:
Sun Dec 20 08:05:06.210 [slaveTracking] build index local.slaves { _id: 1 } 也就是说在local这个数据库下面生成了一个slave表【集合】。
3.2 slave数据库吐出来的日志:
Sun Dec 20 08:05:05.196 [replslave] build index local.sources { _id: 1 } Sun Dec 20 08:05:05.201 [replslave] build index local.me { _id: 1 }
说明在local数据下有两个表:【sources,me】
总得来说,master通过slaves表记录这从属服务器的信息。
slave 通过 sources表记录主服务器的信息。
常用的选项
--only --slavedelay [单位是s]
发现问题
1.从服务器无法使用show dbs命令解决这个问题需要执行一下命令
db.getMongo().setSlaveOk();
主从复制的几个问题,是无法解决的:
主节点挂了能否自动切换连接?目前需要手工切换。
主节点的写压力过大如何解决?
从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?
就算对从节点路由实施路由访问策略能否做到自动扩展?
相关文章推荐
- mongoDB——主从复制介绍及简单实现
- 8天学通MongoDB——第五天 主从复制
- Mongodb 带验证的主从复制
- MongoDB主从复制
- MongoDB:mongodb的主从复制(一)
- 8天学通MongoDB——第五天 主从复制
- Mongodb主从复制 及 副本集+分片集群梳理
- 征服 Mongodb 之 主从复制&集群复制
- MongoDB——第五天 主从复制
- MongoDB主从复制与分片技术,和运维技术的状态查询
- 关于mongodb的主从复制
- MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
- MongoDB—主从复制
- 8天学通MongoDB——第五天 主从复制
- mongoDB3.4主从复制实现
- mongodb不同版本实现主从复制
- MongoDB教程快速学会入门 第5篇 主从复制
- 搭建MongoDB主从复制(Master-Slave)
- mongodb (master/slave) 主从复制
- 8天学通MongoDB——第五天 主从复制