Mongodb本机部署副本集

本文详细介绍了MongoDB副本集的搭建过程,包括创建数据目录、启动副本集成员、初始化副本集、验证数据一致性、移除和添加服务器、故障转移、调整副本优先级、配置隐藏节点和延迟节点等操作,旨在提升MongoDB高可用性和数据安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

知识储备

1.为什么我们需要搭建副本集模式呢?

MongoDB独立模式可以简单且快速的构建MongoDB数据库系统,然而独立模式存在弊端,即一旦MongoDB发生宕机,将会面临数据丢失的风险,这在生产环境中是不允许发生的,此时我们可以利用MongoDB提供的高可用机制,即复制。

MongoDB支持两种复制类型:传统的主/从复制副本集,副本集可以理解为传统主/从复制的一种复杂形
式 , 支持自动故障恢复功能 , 拥有更高的可用性 。

2.副本集成员构架

在这里插入图片描述
客户端程序(Client Application)通过驱动器(Driver)连接副本集主节点(Primary)进行读写操作,当主节点数据副本发生变化,此时副本节点(Secondary)通过Replication(复制)同步主节点的数据副本,使副本集中副本节点与主节点存储相同数据副本

副本集中的各节点还会通过传递心跳信息(Heartbeat)来检测各自的健康状态。当主节点故障时,拥有投票权的副本节点和仲裁节点(Arbiter)会触发一次新的选举操作,并从副本节点中选举出新的主节点,以确保副本集正常运行。

应用目标

学习回顾完上述基础知识框架以后,我们有了更明确的实践目标。知道我们接下来要实践的内容从哪里来,到哪里去,要完成具体哪个任务。此篇博文主要记录如何在本机完成MongoDB副本集的部署。

实践步骤

一、部署副本集

1. 创建数据目录

打开dos窗口 (win+R)
创建如下三个文件夹 : 为每个成员创建必要的数据目录

mkdir d:\srv\mongodb\rs0-0
mkdir d:\srv\mongodb\rs0-1
mkdir d:\srv\mongodb\rs0-2

执行完上述操作之后,会在d:\srv\mongodb\目录下创建rs0-0、rs0-1和\rs0-2三个文件夹。

相应文件夹路径下具体结果如图所示:
在这里插入图片描述

2. 启动副本集

First memeber: 新打开一个dos窗口执行如下命令(以管理员身份打开):

C:\WINDOWS\system32> mongod --replSet rs0 --port 27017 --dbpath d:\srv\mongodb\rs0-0 

Second member: 再新打开一个dos窗口 执行如下命令(以管理员身份打开):

C:\WINDOWS\system32> mongod --replSet rs0 --port 27019 --dbpath d:\srv\mongodb\rs0-1 

Third member: 再次新打开一个dos窗口 执行如下命令(以管理员身份打开):

C:\WINDOWS\system32>mongod --replSet rs0 --port 27020 --dbpath d:\srv\mongodb\rs0-2 

这将以名为rs0的副本集的成员的身份启动每个实例,
每个实例运行在不同的端口上(27017,27019,27020),
并使用 --dbpath设置指定数据目录的路径

3. 关闭MongoDB服务

  1. 任务栏搜索服务和应用程序,找到相应位置
  2. 选择MongoDB服务,单击将服务手动关闭
    在这里插入图片描述

4.登录mongod实例

通过mongo shell连接到mongod实例之一,通过指定其端口号来指示哪个实例
(采用cmd打开mongodb服务需要提前配置环境变量,没有相应概念的小伙伴找找其他资料; 也可以直接打开找到mongo.exe文件所在位置打开mongo shell)

这里采用第一种方式:直接使用cmd连接mongo客户端

C:\WINDOWS\system32>mongo --port 27020
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值