使用docker-compose方式部署MongoDB副本集
MongoDB副本集概念
1.1 MongoDB复制结构图
1.2 mongodb概念
mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。他是nosql数据库中功能最丰富,最像关系数据库的,数据结构和JSON基本一样。
副本集具有自动故障恢复的功能。
副本集和主从集群最大的区别就是副本集没有固定的“主节点”;整个集群会选出一个“主节点”,当其挂掉后,又在剩下的从节点中选中其他节点为“主节点”,副本集总有一个活跃节点(primary)和一个或多个备份节点(secondary)。
mongodb副本集至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是副本节点,负责复制主节点上的数据。
副本集包括三种节点:主节点、副本节点、仲裁节点
- 主节点负责处理客户端请求,读、写数据,记录在其上所有操作的 oplog。
- 从节点通过获取主节点oplog记录的操作内容以维护相同的数据集,即备份数据,不可写操作,但可以读操作(需要配置),是默认的从节点类型。
- 仲裁节点不复制数据,仅参与投票。
MongoDB副本集部署
2.1 这里准备三台虚拟机进行副本集搭建
- xxx.xxx.3.101 primary
- xxx.xxx.3.102 secondary
- xxx.xxx.3.103 secondary
2.2 在对应服务器上新增mongodb compose文件
注意:请根据实际服务器规划,拷贝docker-compose文件到对应的服务器上。
# xxx.xxx.3.101
$ vi docker-compose-mongodb-101.yml