1.MongoDB副本集
在MongoDB新版本中已经不在支持主从复制,取而代之的是使用Mongodb副本集,MongoDB副本集(Replica Set)其实就是具有自动故障恢复功能的主从集群,和普通的主从复制最大的区别在于副本集中没有固定的”主节点”,整个副本集会选出一个节点作为主节点,当其挂掉后,会在剩下的节点中选举一个节点成为新的主节点,保证有一个主节点(primary)和一个或多个备份节点(secondary),官方推荐副本集最小配置需要三个节点,一个主节点接收和处理所有的写操作,其余的备份节点来对主节点的数据进行同步备份。
成为primary | 对客户端可见 | 参与投票 | 延迟同步 | 复制数据 | |
---|---|---|---|---|---|
Default | √ | √ | √ | / | √ |
Secondary-Only | / | √ | √ | / | √ |
Hidden | / | / | √ | / | √ |
Delayed | / | √ | √ | √ | √ |
Arbiters | / | / | √ | / | / |
Non-Voting | √ | √ | / | / | √ |
2.副本集配置
修改各个节点的mongodb.conf,增加副本集相关配置
1 | dbpath=/data/mongo |
配置完成后,重新加载配置文件
1 | mongod -config ./mongodb.conf |
3.副本集初始化
连接到每一个MongoDB实例,执行rs.initiate()方法对副本集进行初始化
1 | conf = { |
4.副本集更新
1 | #向副本集中添加成员 |