MongoDB集群-主从复制(副本集)、failover
1.概念
主从复制的目的:数据冗余、备份、读写分离
主从方式:一主一从(不推荐,只能实现复制,主节点挂掉且未重新启动的时候,无法提升从节点为master),一主一从一裁判,一主多从
复制方式:主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。
复制/同步的是操作日志而非数据。裁判节点不复制数据。
2.准备环境
单机3个mongodb进程,端口号分别为27017、27018、27019
db和log目录
3.配置
3.1 配置文件
3.2 启动3个节点
3.3 连接任意一个mongod服务并初始化副本集(自动选择master/primary,可以设置priority)
3.4 添加副本集
数据节点
裁判节点
3.5 查看集群状态
27017是主节点,27018是复本节点,27019是裁判节点
4.测试数据同步
4.1 向master中插入数据
4.2 在slave中查看刚插入的数据
数据已同步
裁判节点不能查看数据
5.测试自动选举
5.1 kill掉master进程
5.2 查看集群状态,已自动选举
5.3 再次启动之前的master mongod,则启动后变为slave