IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> [Mongodb 5.0]配置副本集中的节点为延迟节点 -> 正文阅读

[大数据][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个小时候,再次执行查询,发现数据同步了,如下:

到此整个过程结束。?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-15 11:37:30  更:2022-05-15 11:37:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 6:41:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码