《NoSQL数据库技术与应用》 MongoDB副本集

news/2024/7/20 16:51:23/文章来源:https://blog.csdn.net/zhangchen124/article/details/139093973

《NoSQL数据库技术与应用》
教学设计

课程名称:NoSQL数据库技术与应用
授课年级: 20xx年级
授课学期: 20xx学年第一学期
教师姓名: 某某老师

2020年5月6日

课题
名称 第4章 MongoDB副本集 计划学时 8课时
内容
分析 独立模式可以简单且快速的构建MongoDB数据库系统,然而独立模式存在弊端,即一旦MongoDB发生宕机,将会面临数据丢失的风险,这在生产环境中是不允许发生的,此时我们可以利用MongoDB提供的高可用机制,即复制。MongoDB支持两种复制类型:传统的主/从复制和副本集,副本集可以理解为传统主/从复制的一种复杂形式,支持自动故障恢复功能,拥有更高的可用性,是MongoDB部署中的一种推荐方法。因此,本章将针对MongoDB副本集进行详细介绍和部署。
教学目标及基本要求 1、了解MongoDB副本集
2、熟悉MongoDB副本集成员
3、掌握MongoDB副本集部署
4、掌握MongoDB副本集操作
5、理解副本集机制
教学
重点 1、副本集概述
2、副本集成员
3、部署副本集
4、查看副本集成员状态
5、同步副本文档
6、故障转移
7、配置副本集成员
8、安全认证
9、副本集机制
教学
难点 1、部署副本集
2、配置副本集成员
3、安全认证
教学
方式 教师课堂教学要以PPT讲授为主,并结合多媒体进行教学



第一课时
(副本集概述、副本集成员)
一、情景导入

  1. 教师通过举例,引出副本集
    副本集(Replica Set)是一组MongoDB实例保持其相同数据集的集群,由一个主(Primary)服务器和多个副本(Secondary)服务器构成。通过复制(Replication)将数据的更新由主服务器推送到其它副本服务器上,在一定的延迟之后,达到每个MongoDB实例维护相同的数据集副本。
  2. 明确学习目标
    (1)熟悉副本集概述
    (2)掌握副本集成员
    二、进行重点知识讲解
    1.副本集概述
    教师可以参考课件进行讲解副本集及副本集功能,对这些内容做重点介绍。
    2.副本集成员
    教师可以参考课件进行讲解副本集成员结构、副本集成员和oplog,对这些内容做重点介绍。
    三、归纳总结,随堂练习,布置作业
    对课堂上讲解的知识点进行总结,让学生叙述副本集概述和副本集成员的理解。

第二、三课时
(部署副本集)
一、回顾上节课内容,讲述部署副本集
1.对上节课留的作业进行答疑
2.回顾上节课内容,引出本节课的主题
上一节课,我们对MongoDB副本集有了初步认知。本节课,按照官方推荐方案,我们搭建一个三成员的副本集,这个副本集由一个主节点和两个副本节点组成。
3.明确学习目标
(1)熟悉部署MongoDB副本集的环境准备
(2)掌握副本集的安装与启动
(3)掌握副本集的初始化
二、进行重点知识的讲解
1. 环境准备
教师可以参考课件以讲演法的方式来讲述副本集部署前的环境准备。
(1)启动三台Linux虚拟机。
(2)介绍各服务器基本信息,规划副本集各服务器的角色分配。
(3)创建副本集相关目录并更改目录用户权限。
2. 副本集的安装与启动
教师可以参考课件以讲演法的方式来讲述副本集的安装与启动。
(1)讲解并操作安装副本集,首先将MongoDB安装包上传到服务器,修改安装包用户权限。接下来通过解压的方式安装MongoDB,然后重命名MongoDB安装目录,最终将MongoDB相关目录和安装目录分发到集群中其它服务器。
(2)讲解并操作启动副本集,首先进入三台服务器中MongoDB的bin目录,然后以命令行参数方式启动副本集模式的MongoDB实例,最终查看MongoDB实例是否成功启动。
3. 副本集的初始化
教师可以参考课件以讲演法的方式来讲述基于Linux平台MongoDB集合的操作。
(1)讲解并操作登录服务器nosql01的客户端
(2)讲解并操作副本集初始化操作
(3)讲解并操作将服务器nosql02和服务器nosql03以副本节点添加到副本集。
(4)讲解通过配置变量的方式初始化副本集。
三、归纳总结,随堂练习,布置作业
对课堂上讲解的知识点进行总结,让学生叙述副本集安装与初始化的步骤。

第四课时
(查看副本集成员状态、同步副本文档、故障转移)
一、回顾上节课内容,讲述本节课学习内容
1.对上节课留的作业进行答疑
2.回顾上节课内容,引出本节课的主题
上一节课,我们完成副本集的部署并成功启动副本集,本节课,我们将讲解如何查看副本集成员状态、验证副本集文本同步及故障自动转移。
3.明确学习目标
(1)掌握查看副本集成员状态
(2)了解如何验证同步副本文档
(3)了解如何验证自动故障转移
二、进行重点知识的讲解

  1. 查看副本集成员状态
    教师可以参考课件以讲演法的方式来讲述查看副本集成员状态操作。
    (1)讲解副本集成员状态。
    (2)讲解和操作如何在副本集主节点的MongoDB客户端查看副本集成员状态。
    (3)讲解副本集成员状态信息中的参数。
    (4)简要讲解副本集成员状态的回滚。
  2. 同步副本文档
    教师可以参考课件以讲演法的方式来讲述验证同步副本文档操作。
    (1)讲解并操作在服务器nosql01的MongoDB客户端写入一条文档。
    (2)讲解并操作在服务器nosql02的MongoDB客户端中是否可以查看到相同的文档内容,并对副本节点无法查看副本集内容做详细讲解。
  3. 故障转移
    教师可以参考课件以讲演法的方式来讲述故障自动转移操作操作。
    (1)讲解并操作服务器nosql01中副本集主节点的MongoDB实例。
    (2)讲解并操作登录服务器nosql02和服务器nosql03中的MongoDB客户端,验证是否启动一台服务器变更为主节点。
    三、归纳总结,随堂练习,布置作业
    对课堂上讲解的知识点进行总结,让学生叙述副本集成员状态都有哪些,以及如何验证副本同步与自动故障转移。

第五课时
(配置副本集成员)
一、回顾上节课内容,讲述配置副本集成员
1.对上节课留的作业进行答疑
2.回顾上节课内容,引出本节课的主题
实际使用过程中,随着需求的变化我们会对副本集成员的配置进行更改,例如修改成员优先级、选举权和更改成员角色等操作。本节课,我们将详细讲解如何修改副本集成员。
3.明确学习目标
(1)掌握获取副本集成员配置信息
(2)掌握调整副本集成员优先级
(3)掌握配置隐藏节点和延迟节点
(4)掌握配置副本集成员投票权
(5)掌握将副本节点转为仲裁节点
二、进行重点知识的讲解

  1. 获取副本集成员配置信息
    教师可以参考课件以讲演法的方式来讲述获取副本集成员配置信息操作。
    (1)讲解和操作如何在副本集主节点的MongoDB客户端获取副本集成员配置信息并赋值到变量便于后续配置副本集成员。
    (2)讲解副本集成员配置信息中的参数。
  2. 调整副本集成员优先级
    教师可以参考课件以讲演法的方式来讲述调整副本集成员优先级操作。
    (1)讲解成员优先级的作用。
    (2)讲解并操作调整服务器nosql01中副本集成员的优先级。
    (3)讲解并操作将调整操作应用到副本集,查看服务器nosql01中副本集成员角色状态是否发生变化。
  3. 配置隐藏节点和延迟节点
    教师可以参考课件以讲演法的方式来讲述配置隐藏节点和延迟节点操作。
    (1)讲解隐藏节点和延迟节点的作用。
    (2)讲解并操作将服务器nosql02中的副本集成员配置为隐藏节点。
    (3)讲解并操作将服务器nosql03中的副本集成员配置为延迟节点。
  4. 配置副本集成员投票权
    教师可以参考课件以讲演法的方式来讲述配置副本集成员投票权操作。
    (1)讲解成员投票权的作用。
    (2)操作并演示配置服务器nosql02中副本集成员的投票权。
  5. 将副本节点转为仲裁节点
    教师可以参考课件以讲演法的方式来讲述基于Linux平台MongoDB按条件查询操作。
    (1)讲解并演示如何将服务器nosql02中的副本成员更换为仲裁节点。
    三、归纳总结,随堂练习,布置作业
    对课堂上讲解的知识点进行总结,让学生叙述优先级和投票权的作用,如何配置隐藏和延迟节点。

第六课时
(安全认证)
一、回顾上节课内容,讲述聚合操作
1.对上节课留的作业进行答疑
2.回顾上节课内容,引出本节课的主题
默认情况下部署的MongoDB副本集不会开启安全认证功能,这样会对副本集的安全带来一定影响,任何人都可以操作副本集,这在生产环境中是不允许发生的。MongoDB 副本集之间通信有两种安全认证机制,一种是通过KeyFile,另外一种是通过证书x.509,官网推荐使用证书的方式,不过我们这里搭建测试和开发环境没必要去弄证书,因此我们直接通过配置KeyFile就可以实现安全通信,不过在生产环境中推荐使用证书x.509。
3.明确学习目标
(1)了解副本集安全认证机制
(2)掌握开启副本集安全认证
(3)掌握副本集安全认证操作
二、进行重点知识的讲解

  1. 副本集安全认证机制
    教师可以参考课件进行讲解副本集两种安全认证的机制并对KeyFile密钥文件做详细介绍。
  2. 开启副本集安全认证
    教师可以参考课件以讲演法的方式来讲述开启副本集安全认证操作。
    (1)讲解并操作创建KeyFile文件并写入密钥内容。
    (2)讲解并操作在各服务器间同步KeyFile文件。
    (3)讲解并操作在开启副本集安全认证前创建全局管理用户。
    (4)讲解并操作重启副本集,分别不指定用户和指定全局管理用户来验证安全认证是否启动成功。
    (5)讲解root权限用户对开启安全认证的副本集作用。
    三、归纳总结,随堂练习,布置作业
    对课堂上讲解的知识点进行总结,让学生叙述聚合管道操作的表达式和语法以及Map-Reduce操作流程。

第七课时
(副本集机制)
一、回顾上节课内容,讲述副本集机制
1.对上节课留的作业进行答疑
2.回顾上节课内容,引出本节课的主题
本节课将讲解副本集的几个重要机制,分别是同步机制、选举机制和心跳检测机制。
3.明确学习目标
(1)了解同步机制
(2)了解选举机制
(3)了解心跳检测机制
二、进行重点知识的讲解

  1. 同步机制
    教师可以参考课件讲解副本集同步机制。
  2. 选举机制
    教师可以参考课件讲解副本集选举机制。
  3. 心跳检测机制
    教师可以参考课件讲解副本集心跳检测机制。
    三、归纳总结,随堂练习,布置作业
    对课堂上讲解的知识点进行总结,让学生叙述对同步机制、选举机制和心跳检测机制的理解。

第八课时
(上机练习)
上机一:副本集部署
请按照教材中4.3小节的内容,独立完成。
上机二:副本集操作
请按照教材中4.4小节的内容,独立完成。

思考题
和习题




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1054541.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI大模型】如何让大模型变得更聪明?基于时代背景的思考

【AI大模型】如何让大模型变得更聪明 前言 在以前,AI和大模型实际上界限较为清晰。但是随着人工智能技术的不断发展,基于大规模预训练模型的应用在基于AI人工智能的技术支持和帮助上,多个领域展现出了前所未有的能力。无论是自然语言处理、…

【ORB_SLAM系列3】—— 如何在Ubuntu18.04中使用自己的单目摄像头运行ORB_SLAM3(亲测有效,踩坑记录)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、ORB_SLAM3源码编译二、ORB_SLAM3实时单目相机测试1. 查看摄像头的话题2. 运行测试 三. 运行测试可能的报错1. 报错一(1) 问题描述(2) 原因分析(3) 解决 2. …

工控一体机7寸显示器电容触摸屏(YA131607JK)产品规格说明书

如果您对工控一体机有任何疑问或需求,或者对如何集成工控一体机到您的业务感兴趣,可移步控芯捷科技。 一、硬件功能介绍 YA131607JK产品介绍: YA131607JK 搭载 Android10 主流操作系统,具有系统版本更高、占用内存更低、运行效率…

HTML-JavaWeb

目录 1.标题排版 2.标题样式 ​编辑 ​编辑 小结 3.超链接 4.正文排版 ​编辑​编辑​编辑5.正文布局 6.表格标签 7.表单标签 8.表单项标签 1.标题排版 ● 图片标签 :< img> src:指定图像的ur1(绝对路径/相对路径) width:图像的宽度(像素/相对于父元素的百…

linux开发之设备树五、设备树描述中断实践

设备树是基于设备总线模型的&#xff08;platform&#xff09; 1、添加节点 假设中断引脚为&#xff1a;GPIO0_B5 下面使用设备树来描述它 1、写节点&#xff0c;起节点名字 这里用了ft5x06的触摸芯片&#xff0c;然后I2C的地址为38 2、为节点添加属性 首先添加compatible…

抖店除了商品卡流量还有什么流量?

我是王路飞。 随着抖音开放商品卡流量&#xff0c;它一度成为去年最大热的玩法。 包括到现在&#xff0c;还有很多新手对其有一种莫名的信任感&#xff0c;只想做商品卡流量。 那么抖店除了商品卡流量还有什么流量玩法呢&#xff1f;哪种比较容易出单呢&#xff1f; 今天就…

Facebook:连接世界,畅游社交之旅

作为全球最大的社交平台之一&#xff0c;Facebook不仅仅是一个网站&#xff0c;更是一个连接世界的桥梁&#xff0c;让人们可以轻松地与全球各地的朋友、家人和同事保持联系&#xff0c;分享生活、交流想法&#xff0c;畅游社交的无边界之旅。本文将带领读者探索Facebook的魅力…

【问题解决】pycharm中添加python interpreter报错 conda excutable is no found

选择安装目录下的conda.bat文件&#xff0c;然后点击“Load Environments”按钮&#xff0c;然后在列表中选择conda环境即可。

C++笔记:Hash Function 散列函数

1. Hash Function 散列函数 简单的Hash实现&#xff1a; class CustomerHash { public:size_t operator()(const Customer& c) const {return hash<std::string>()(c.fname) // first namehash<std::string>()(c.lname) // last namehash<long>()(…

嵌入式学习记录5.18(多点通信)

一、套接字属性设置相关函数 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int getsockopt(int sockfd, int level, int optname,void *optval, socklen_t *optlen);int setsockopt(int sockfd, int level, int optname,const void *op…

量化交易入门:如何在QMT中配置Python环境,安装第三方依赖包

哈喽,大家好,我是木头左! 引言 QMT,作为量化交易系统中的佼佼者,以其强大的功能和灵活的操作性,受到了广大投资者的青睐。但是,对于很多新手来说,如何在QMT中配置Python环境,安装第三方依赖包,却是一个让人头疼的问题。本文将从零开始,手把手教你如何在QMT中配置Py…

股票交易vip快速通道有什么门槛?vip交易通道的开通流程!

证券公司的VIP通道通常是为了满足高端客户或高频交易客户的需求而设立的&#xff0c;提供更快速、更便捷的交易服务。证券公司VIP通道适用于有追涨停板需求的投资者&#xff0c;以及一些喜爱高频交易的投资者&#xff0c;总的来说就是快速&#xff0c;在交易主机排队靠前。 VI…

MySQL8报错Public Key Retrieval is not allowedz 怎么解决?

问题描述 当我们使用数据库管理工具连接mysql8的时候&#xff0c;可能遇到报错&#xff1a; Public Key Retrieval is not allowed 解决办法 1、在连接属性中配置allowPublicKeyRetrieval设置为true 2、在连接URL中加上配置allowPublicKeyRetrieval为true

Discourse 编辑没有办法显示更多的 JS 错误

Priority/Severity: High Platform: 3.3.0.beta3-dev UI bugs Description: 昨天升级的时到最新版本的时候就发现有这个错误&#xff0c;是 JS 的错误。 发了一个帖子到官方的网站上&#xff0c;官方说可能是插件的问题。 但是我们实在是没有安装什么插件呀&#xff1f; 官方…

uniapp一些问题解决

1.按钮边框如何去除&#xff1f; 参考博主&#xff1a;微信小程序按钮去不掉边框_微信小程序button去掉边框-CSDN博客文章浏览阅读1k次。最近在学uni-app&#xff0c;顺便自己写个小程序。左上角放了个button&#xff0c;可边框怎么也去不掉…原来微信小程序的按钮要去掉边框要…

软件游戏找不到xinput1_3.dll如何修复?分享几种有效的解决方法

当您在使用电脑过程中遇到系统提示“xinput1_3.dll文件丢失”时&#xff0c;这可能会导致某些游戏或应用程序无法正常运行&#xff0c;因为xinput1_3.dll是与DirectX相关的一个重要动态链接库文件&#xff0c;主要负责处理游戏控制器输入。为了解决这个问题&#xff0c;我通过查…

期权具体怎么交易详细的操作流程?

期权就是股票&#xff0c;唯一区别标的物上证指数&#xff0c;会看大盘吧&#xff0c;交易两个方向认购做多&#xff0c;认沽做空&#xff0c;双向t0交易&#xff0c;期权具体交易流程可以理解选择方向多和空&#xff0c;选开仓的合约&#xff0c;买入开仓和平仓没了&#xff0…

经典文献阅读之--RenderOcc(使用2D标签训练多视图3D Occupancy模型)

0. 简介 3D占据预测在机器人感知和自动驾驶领域具有重要的潜力&#xff0c;它将3D场景量化为带有语义标签的网格单元。最近的研究主要利用3D体素空间中的完整占据标签进行监督。然而&#xff0c;昂贵的注释过程和有时模糊的标签严重限制了3D占据模型的可用性和可扩展性。为了解…

YOLOv5数据集的文件结构和文件格式以及标注工具LabelImg的说明文档

文章目录 一 概述二 文件结构与数据格式2.1 数据集的文件结构2.2 数据格式2.2 文件结构2.3 标注文件的注意事项 三 手动标注YOLOv5数据集3.1 标注工具的选择3.2 标注流程 四 总结与注意事项4.1 labelImg的使用技巧与说明4.2 注意事项 一 概述 YOLOv5 是一个采用深度学习技…

【华为实验】一文带你轻松掌握综合实验!

更多实验配置&#xff0c;点击学习 PPPoE实验新手必备&#xff1a;从0到1的网络配置指南&#xff01; 网络工程师必备&#xff1a;静态路由实验指南 … 大家好&#xff0c;今天带大家学习一下华为初级课程里面的综合实验。 01 实验拓扑 02 实验需求 需求: 1.总部核心与接…