MongoDB集群高可用实战之复制集replica sets搭建
MySQL数据库提供了高可用集群架构的几种模式——异步复制、半同步复制、并行复制;MongoDB也提供高可用集群功能,但是不再支持主从结构模式的集群。那MongoDB提供什么样的集群模式呢?其中一种就是复制集replica sets。
复制集是由⼀组拥有相同数据集的mongod实例做组成的集群。其由2台及2台以上的服务器组成同时其成员包括Primary主节点,secondary从节点和投票节点。复制集主要提供了数据的冗余备份功能,并在多个服务器上存储数据副本提⾼了数据的可⽤性,保证数据的安全性。
先实践搭建一个复制集,环境同MySQL集群搭建时环境。具体操作如下:
1、配置
关于这个配置的说明,MongoDB官网进行了详细的介绍Configuration File Options — MongoDB Manual。具体到复制集使用的配置为Configuration File Options — MongoDB Manual
2、初始化结点配置
启动三个节点,然后进行165节点(以其为主节点),运行配置如下命令:
3、增加163节点
mongosh上关于复制集的各种操作可参加MongoDB官网Replication Methods — MongoDB Manual
4、复制集操作验证
流程:进⼊主节点 ----- 插⼊数据 ------ 进⼊从节点验证
验证前:
从图上可知从节点默认不可读,调⽤ rs.slaveOk() 解决。如下:
使用时得到警告:在未来更高版本的mongodDB中slaveOk()将被移除。使用secondaryOk()替代,如下:
插入数据:
从节点查看数据:
从验证结果看,复制集设置成功!!!