[Mongodb 5.0]配置副本集中的节点为延迟节点

前言

如果副本集中的某而节点设置成了延迟节点(Delayed Replica Set Member),那么这个节点将会在一定的延迟时间之后再去Primary节点赋值oplog到自己节点上,然后根据oplog中的内容,实现数据与Primary节点的同步

oplog:mongodb的副本集主要就是通过oplog这个东东,oplog中记录了Primary节点上对mongo数据库的操作,比如增删改查。其他节点的数据拿到这个oplog,然后执行里面的内容,就可以将Primary节点上内容同步到自己节点上,实现了副本集的作用。

场景

我们假设已创建了一个副本集(没创建的可参考前面的文章)如下表格所示:

PSS模式(还有PSA模式)地址别名
Secondary192.168.40.128节点1
Primary192.168.40.129节点2
Secondary192.168.40.130节点3

 现在我们要将节点1设置成一个延迟节点,实现在Primary节点上插入一条记录1个小时候,节点1才会将这个记录同步到自己的mongodb数据库中。

步骤

第一步:在Primary节点上通过mongosh连接mongodb。

第二步:获取副本集的配置,然后赋值给变量

cfg = rs.conf()

 

第三步:通过cfg这个变量将节点1修改为隐藏节点

cfg.members[1].priority = 0
cfg.members[1].hidden = true
cfg.members[1].secondaryDelaySecs = 3600
#members[1]是因为要设置为延迟节点(192.168.40.128)在members数组索引1的位置上,看上图

 

可以看出延迟节点就是在隐藏节点的基础上多设置一个secondaryDelaySecs属性值。

如果不知道什么是【隐藏节点】看前面文章

第四步: 执行更新配置

rs.reconfig(cfg)

 更新配置后,再次查看配置信息,会发现延迟属性已成功设置,如下:

第五步:验证
我们通过在Primary节点上插入一条数据后,观察其他两个Secondary节点中数据的变化来验证延迟节点是否起效。
首先,我们在Primary节点上执行了一条插入语句,如下:


 然后,我们在节点3上执行查询语句,会发现数据已同步,可以查到在Primary节点上插入的数据,如下图

提示:
要在Secondary节点上执行数据读取(查询)操作,别忘了先执行这条语句:db.getMongo().setReadPref("secondary")
设置副本集允许从Secondary上读数据,否则默认只能从Primary节点上读数据 

接着,我们在节点1(我们的设置成的延迟节点)也来执行查询语句,观察数据是否也同步了 ,结果查询到的数据并未包含Primary上插入的那条数据,如下图:

这说明延迟节点设置生效了,然后我们等待1个小时候,再次执行查询,发现数据同步了,如下:

到此整个过程结束。 

MongoDB是一种面向文档的数据库管理系统,它提供了一个灵活、高性能和高可用性的数据库平台。在Windows操作系统上安装和配置MongoDB 5.0,通常需要创建一个配置文件(conf文件),以便可以自定义数据库的行为。以下是配置MongoDB 5.0的步骤: 1. 首先,你需要从MongoDB官方网站下载Windows版本的MongoDB 5.0。 2. 安装MongoDB之前,建议创建一个专门的文件夹用于存放MongoDB的相关文件。例如,可以在`C:\mongodb\`路径下创建一个文件夹。 3. 解压缩下载的MongoDB安装文件到你创建的文件夹中。 4. 创建一个名为`mongod.cfg`的配置文件,并放置到MongoDB安装目录下的`bin`子目录中。这个配置文件一般包含了如下几个关键部分: - storage配置部分,指定数据存储的位置,例如: ``` storage: dbPath: C:\mongodb\data journal: enabled: true ``` - systemLog配置部分,指定日志文件的路径和日志级别,例如: ``` systemLog: destination: file path: C:\mongodb\log\mongod.log logAppend: true ``` - net配置部分,指定监听的端口,默认为27017,例如: ``` net: port: 27017 ``` - replication配置部分,用于设置复制功能的相关配置,如副本集名称等(如果需要)。 5. 在MongoDB安装目录下的`bin`子目录中创建一个名为`mongo.config`的文件,该文件用于配置MongoDB服务运行时需要的参数,比如: ``` --config C:\mongodb\bin\mongod.cfg ``` 6. 完成配置文件后,你需要通过命令行来启动MongoDB服务。打开一个命令行窗口,切换到MongoDB的`bin`目录,然后使用以下命令启动MongoDB服务: ``` .\mongod.exe --config .\mongo.config ``` 这会使用`mongo.config`中指定的`mongod.cfg`配置文件启动MongoDB服务。 7. 可以通过另外的命令行窗口运行`mongo.exe`来连接MongoDB服务,进行数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值