【MongoDB】四、MongoDB副本集的部署

news2024/9/24 3:26:45

【MongoDB】四、MongoDB副本集的部署

  • 实验目的
  • 实验内容
  • 实验步骤
  • 实验小结


实验目的

       能够通过部署副本集理解副本集机制,从而解决大数据项目中数据丢失的问题


实验内容

环境准备:根据表中的信息完成3台MongoDB服务器的部署(XXX是姓名拼音首字母)。
(环境准备在专栏下单独一篇文章中)
在这里插入图片描述

(1)分别在三台服务器XXX01、XXX02和XXX03上以副本集模式启动MongoDB服务。
(2)在服务器XXX01的MongoDB客户端中执行副本集初始化操作。
(3)查看副本集成员状态。
(4)验证副本节点是否成功同步主节点写入的文档内容。
(5)验证副本集是否会实现自动故障转移。


实验步骤

(1)分别在三台服务器zrz01、zrz02和zrz03上以副本集模式启动MongoDB服务。
命令1:

mongod --replSet itcast --dbpath=/opt/servers/mongodb-demo/mongodb/data/db/ --logpath=/opt/servers/mongodb-demo/mongodb/data/log/mongologs.log --port 27017 --bind_ip zrz01 --logappend --fork

命令2:

mongod --replSet itcast --dbpath=/opt/servers/mongodb-demo/mongodb/data/db/ --logpath=/opt/servers/mongodb-demo/mongodb/data/log/mongologs.log --port 27017 --bind_ip zrz02 --logappend --fork

mongo --host zrz02 --port 27017

命令3:

mongod --replSet itcast --dbpath=/opt/servers/mongodb-demo/mongodb/data/db/ --logpath=/opt/servers/mongodb-demo/mongodb/data/log/mongologs.log --port 27017 --bind_ip zrz03 --logappend --fork

mongo --host zrz03 --port 27017

(2)在服务器zrz01的MongoDB客户端中执行副本集初始化操作。
命令:

rs.initiate()
rs.add(“zrz02:27017”)
rs.add(“zrz03:27017”)

(3)查看副本集成员状态。
命令:

rs.status()

(4)验证副本节点是否成功同步主节点写入的文档内容。
命令:

//在服务器zrz01(副本集主节点)
use test
db.user.insert({“name”:”zhangsan”})
db.user.find()


//在服务器zrz02和服务器zrz03(副本集副本节点)
use test

//由于副本节点默认没有读取副本集内容权限,所以要先开启读取权限再执行查看文档命令
rs.slaveOk()
db.user.find()

在这里插入图片描述


(5)验证副本集是否会实现自动故障转移。
命令:

ps -ef | grep mongodb

在这里插入图片描述


实验小结

       通过本次实验,我理解了布置副本集的原因。在实验过程中遇到了很多硬件或者是软件上的问题,请教老师,询问同学,上网查资料,都是解决这些问题的途径。最终将遇到的问题一一解决最终完成实验。
注意事项:
1、有疑问前,知识学习前,先用搜索。
2、熟读写基础知识,学得会不如学得牢。
3、选择交流平台,如QQ群,网站论坛等。
4、尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。

我将本次实验的一些注意事项总结如下:
1、关于主机名和IP地址的映射问题解决方案:
        vi /etc/hosts 将三台虚拟机的映射全部设置。

在这里插入图片描述

2、防火墙问题
       关闭防火墙两个操作,关闭firewalld 和 selinux

systemctl disable firewalld -- 永久关闭防火墙
vi /etc/sysconfig/selinux  
SELINUX=disabled

在这里插入图片描述

       设置保存后重启虚拟机即可关闭防火墙。

3、关于部署副本时 Connect refused问题解决方案:
进入mongodb安装目录的bin目录,新增mongodb.conf文件,输入:

bind_ip=0.0.0.0

在这里插入图片描述
       保存退出。
ps:bind_ip标识允许连接的客户端IP地址,此处设为0.0.0.0,表示允许所有机器连接。也可设置特定机器的IP。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言指针初阶+进阶(看这一篇就够了)

目录 本章重点 1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 8. 字符指针 9.数组指针 10. 指针数组 11数组传参和指针传参 12. 函数指针 13. 函数指针数组 14. 指向函数指针数组的指针 15. 回调函数 16 指针和数组面试题的解…

【从零开始学习JAVA | 第三篇】类与对象 和 封装

目录 前言: 类与对象: 封装: 总结: 前言: 从本篇开始,我们就要以面向对象编程思想来进行学习了,今天我们学习的内容是类与对象,这是JAVA中的重要知识,让我们一起来进…

docker 项目部署 后端/前端

1.前端部署 2.后端部署 问题一:build出问题 ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 668a7264-5d0b-45a6-b547-fa8fff014bda::g00ukurq2ipxuvrrz8rnpyskp: "/swagger2-demo-0.0.1-SNAPSHOT.jar": …

next.js博客搭建_react-markdown渲染内容(第三步)

文章目录 ⭐前言⭐引入react-markdown💖 使用markdown渲染💖 文章内容布局💖 react-syntax-highlighter代码高亮 ⭐结束 ⭐前言 大家好,我是yma16,本期给大家分享next项目中使用react-markdown渲染内容。 该系列的往期…

考研C语言第八章

结构体定义&#xff0c;初始化&#xff0c;结构体数组 结构体对齐 这个东西看着像数据库里面属性的定义&#xff0c;也像java里面的类的定义 #include <stdio.h> #include <string.h> #include <stdlib.h>struct student{int num;char name[20];char sex;i…

chatgpt赋能python:Python桌面编程:探索图形用户界面

Python桌面编程&#xff1a;探索图形用户界面 Python是一种广受欢迎的高级编程语言&#xff0c;被广泛应用于数据科学、人工智能、Web开发和自动化。但是&#xff0c;随着越来越多的应用程序向图形用户界面&#xff08;GUI&#xff09;转移&#xff0c;Python的桌面编程能力也…

datagrip 连接 phoenix

jar替换完后尽量重启datagrip. 然后重新连接即可. 不重启貌似报错... 效果:

chatgpt赋能python:Python更新界面:让你的应用更美观、更易用

Python更新界面&#xff1a;让你的应用更美观、更易用 Python是一门强大的编程语言&#xff0c;广泛应用于软件开发、数据分析、机器学习等领域。其中&#xff0c;Python的GUI开发能力也非常出色。Python支持多种GUI库&#xff0c;如Tkinter、PyQt、wxPython等&#xff0c;可以…

【C++篇】C++新增的一些基础特性

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

Python--字典

Python--字典 <font colorblue>一、创建字典<font colorblue>二、访问字典元素<font colorblue>三、字典的增、删、查、改<font colorblue>1、添加元素<font colorblue>2、删除元素<font colorblue>3、查找元素<font colorblue>4、修…

Git——分布式版本控制系统

简介 Git是一个开源的分布式版本控制系统&#xff0c;可以高效的处理从小到很大的项目版本管理。 分类 集中式 SVN&#xff0c;CVS 使用单一的服务器用来管理和存储所有文件的修订版本&#xff1b;协同开发的成员拉取或提交都需连接到这台服务器&#xff1b;如果服务器宕机…

电控开关详细介绍 MOSFET

目录 NMOS MOSFET的开关模型 现实生活中MOSFET的截面图 输出特性曲线 总结 MOSFET的SCS模型 MOSFET的SR模型 进一步分析 例子 PMOS CMOS(Complementary Metal-Oxide-Semiconductor) NMOS 金属氧化物半导体场效应晶体管 这是一个什么样的结构呢&#xff1f; 对于…

2023 年6月开发者调查统计结果——最流行的技术(2)

2023 年6月开发者调查统计结果——最流行的技术&#xff08;2&#xff09; 本文目录&#xff1a; 二十三、编程、脚本和标记语言 二十四、数据库 二十五、云平台 二十六、网络框架和技术 二十七、其他框架和库 二十八、其他工具 二十九、集成开发环境 三十、异步工具 …

chatgpt赋能python:Python查错完全指南:如何快速诊断和解决常见的错误

Python查错完全指南&#xff1a;如何快速诊断和解决常见的错误 Python是一种高级编程语言&#xff0c;它被广泛用于数据科学、机器学习、Web开发和自动化等领域。虽然Python具有易于学习和易于使用的特点&#xff0c;但是在编写复杂的应用程序时&#xff0c;错误和异常情况经常…

chatgpt赋能python:Python构造图入门指南

Python构造图入门指南 Python是一种非常强大的编程语言&#xff0c;它可以用于各种任务&#xff0c;包括数据分析、机器学习和深度学习等领域。其中&#xff0c;构造图是Python在数据分析领域的一项非常重要的技术&#xff0c;本文将为大家介绍Python构造图的入门指南。 什么…

chatgpt赋能python:Python查找手机号码

Python查找手机号码 在今天的数字时代&#xff0c;手机号码已成为每个人生活中必不可少的一部分。虽然我们可以轻松地拥有一部手机&#xff0c;但是对于那些需要通过电话来联系客户、朋友或家庭成员的人&#xff0c;获取正确的手机号码就显得尤为重要。 这就是为什么Python查…

【科普知识】如何解决CANopen通信一体化伺服电机PDO无法正常使用

随着现代的自动化程度不断提高&#xff0c;一体化电机的应用正逐渐成为行业的新趋势。 一体化伺服电机是现代工业自动化系统中常用的设备&#xff0c;它集成了伺服电机、驱动器和控制器等功能&#xff0c;提供了高效、精确的运动控制。在其系统中&#xff0c;我们通常使用PDO&a…

vue封装ketcher 化学式、分子式编辑器

ketcher是一个化学结构式编辑器&#xff08;github地址&#xff09;&#xff0c;ketcher插件提供了传统的html standalone版、npm包react版&#xff0c;并没有npm包vue版&#xff0c;集成到vue的原理是将standalone版嵌到iframe中&#xff0c;通过拿到iframe中的ketcher对象&am…

解决Armbian安装UFW防火墙后无法访问1Panel面板的问题:有效解决方案揭秘

文章目录 前言armbian安装防火墙原因分析解决方案第一步&#xff1a;查看1panel的面板入口端口第二步&#xff1a;打开指定端口的访问权限第三步&#xff1a;重启防火墙第四步骤&#xff1a;查看防火墙状态【可略】 前言 官方的教程很不错&#xff0c;但是还是有一些缺陷&…

第四章 ResNet网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…