Mongodb数据库教程第十一节 - replicaset 高可用集群

博主个人主页

前言

本节课来讲mongodb的高级部分知识 集群搭建 其实mongodb中的集群搭建方式有三种
第一种是 master - slave 的模式 但是不支持容灾功能 仅仅是数据同步 也就是主从模式 主挂了 从无法顶替
第二种就是我们今天来说的replicaset集群 他支持选举主节点 并实现了高可用 以及数据的同步 在该模式中有三种角色 primary 主 secondary 从 arbiter 仲裁者
主负责创建查询数据 保存数据
从可以查询数据分担压力 也存储数据 选举
仲裁者 选举 不存储数据
当我们的主节点挂了之后还是需要仲裁节点来选举的所以也是需要有的 同时也是一个mongo服务器
第三种就是 sharding 分片 了 这种模式适用于超大量数据下 才能显示出它的威力 能够将压力分摊到每一个mongo服务器 但是在平常的话 应该性能是不如第二种的

所以我们今天主要来说第二种 也是官方推荐的一种方式

架构图 A 就是仲裁节点
在这里插入图片描述

开始

我们演示在windows中搭建集群 在linux中是一样的 只不过没有了界面 我们是一台windows所以是伪集群 实际就是换一下IP

第一步

将mongod.exe文件拷贝出来到电脑的某一个位置 新建文件夹 27001 新建db文件夹

在这里插入图片描述
拷贝如下配置文件 新建1.config 并粘贴进去

port=27001
dbpath=./db
bind_ip=127.0.0.1
replSet=ctrip
  • port 是端口
  • dbpath 是数据存储路径
  • bind_ip 绑定的IP
  • replSet 集群名称

之后拷贝 27001 文件夹三份 依此修改名字为 27002 27003 27004

我们让27004 作为仲裁节点
在这里插入图片描述
并分别进入文件夹内修改端口

依次启动 27001 27002 27003 27004

在这里插入图片描述
四台全部启动
在这里插入图片描述
通过客户端工具 进行链接 27001 随便那一台都行

初始化集群

rs.initiate()

查看配置

rs.conf()

可以看到有几个节点
在这里插入图片描述
添加成员节点

rs.add("127.0.0.1:27002");
rs.add("127.0.0.1:27003");

添加仲裁节点

rs.addArb("127.0.0.1:27004")

查看状态

rs.status()

可以看到主从

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查看数据库 默认没有数据库

show databases;

使用数据库 会自动创建

use cluster;

在主节点中插入一条数据 查看状态 stateStr 为 PRIMARY 的就是主节点

db.test.insert({name:"lee123"});

切换到其他链接 查看数据是否同步 同时其他数据库中也创建了 cluster 数据库 test 集合 数据也有了

在这里插入图片描述
接下里验证高可用

我们给主节点 停掉 直接关闭CMD或者ctrl+c都行

然后我们会看到一直在重连 主节点

在这里插入图片描述
然后我们切换到其他链接中

查看状态

27001 已经不可用

在这里插入图片描述

可以看到其中某一台已成为主节点

在这里插入图片描述
这就是实现了高可用

但是记住集群数量不能小于两台哦

结语

这节就讲到这里~ 下一节来说一下 Nodejs中如何操作mongodb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值