1:特点
A:可以一个master,多个slave。一个集群中有多少个slave节点,mongodb没有明确的限制,实际应用中不超过12个是最佳的。
B:只有master可以写操作,slave不能写操作。
C:master启动的时候带--master参数,slave启动的时候要带--slave 和 --source参数(--source参数可以通过直接修改local数据库来设定)。
D:所有slave节点都是从master节点复制内容,目前没有从slave节点复制的机制,因为slave节点没有保存自己的oplog。
E:如果slave节点从一个maser节点切换到另一个master节点,两个master节点有相同的集合的话,mongodb会尝试合并,但不能保证正确的合并;所以当一个slave要对应多个master的时候,最好在master节点上使用不同的命名空间。
2:增加和删除slave节点
A:增加slave节点,一种办法是启动的时候带--slave 和 --source参数;还有一种办法是启动时带--slave,然后在shell中使用local数据库,修改source集合。
> use local
> db.sources.insert({''host":"192.168.100.131:10000"})
B:删除节点
>db.sources.remove({''host":"192.168.100.131:10000"})
3:选项
--only
在slave节点上指定只复制特点的某个数据库(默认是复制所有的数据库)
--slavedelay
用在slave节点上,延迟master节点的操作在slave节点上执行,这样用户无意中删除重要文档,可以通过这个延时差,从slave中进行恢复。
--fastsync
以master节点的数据库快照为基础启动slave节点。
--autoresync
如果slave节点与master节点不同步,则自动重新同步。
--oplogSize
是指master节点oplog的大小,单位是MB。