MongoDB远程复制集集群((两台服务器,8个实例))

第三阶段基础

时  间:2023年7月4日

参加人:全班人员

内  容:

MongoDB远程复制集集群

目录

MongoDB远程复制集集群

实验环境:(两台服务器,8个实例)

环境部署:

安装部署

实  验:

实验结果总结:


MongoDB远程复制集集群

实验环境:(两台服务器,8个实例)

Huyang1

Node1

Node2

Node3

Node4

192.168.59.137

27017

27018

27019

27020

Huyang2

Node1

Node2

Node3

Node4

192.168.59.138

27017

27018

27019

27020

环境部署:

1、关闭防火墙

systemctl stop firewall

iptables -F

setenforce 0

2、上传软件包或下载

3、解包、移动位置,命令优化

tar xf mongodb-linux-x86_64-rhel70-4.0.6.tgz

mv mongodb-linux-x86_64-rhel70-4.0.6

/usr/local/mongodb

ln -s /usr/local/mongodb/bin/* /bin/ 命令优化

安装部署

1、创建数据目录,日志文件及目录并创建相应配置文件

mkdir -p /data/mongodb1

mkdir -p /data/logs/mongodb

touch /data/logs/mongodb/mongodb1.log

cd /usr/local/mongodb/

mkdir conf

2、修改配置文件

vim conf/mongodb1.conf

添加配置如下:

  同理,配置huyang1/huyang2上的27018/27019

3、启动服务

mongod -f /usr/local/mongodb/conf/mongodb1.conf

4、进入数据库,配置复制集

mongo

rs.status()  查看状态

配置复制集【huyang1或huyang2操作,另一方不操作】

cfg={"_id":"huyang","members":[{"_id":0,"host":"192.168.59.138:27017"},{"_id":1,"host":"192.168.59.138:27018"},{"_id":2,"host":"192.168.59.138:27019"},{"_id":10,"host":"192.168.59.137:27017"},{"_id":11,"host":"192.168.59.137:27018"},{"_id":12,"host":"192.168.59.137:27019"}]}

rs.initiate(cfg)  配置成功

rs.status()  查看变化

【huyang1】   无状态--->成为从库

【huyang2】   无状态--->从库--->主库

实  验:

实验一:在没有配置优先级下,模拟故障转移

【huyang2】宕机主库

查看复制集内变化

【huyang1】rs.status()

huyang2的27018成为新的主库

【huyang2】宕机主库

查看复制集内变化

【huyang1】rs.status()

huyang2的27018成为新的主库

可见,在没有配置优先级的情况下,主库随机产生

实验二:配置优先级测试

【huyang2】配置8个hosts,六个优先级,一从,一仲裁

重启复制集查看变化

rs.reconfig(cfg)

只能添加不超过7个

rs.isMaster()

【huyang2】配置7个hosts,5个优先级,一从,一仲裁

重启复制集查看变化

rs.reconfig(cfg)

rs.isMaster()

建立成功,五个优先,一从一仲裁

只能建立奇数类的复制集

【huyang2】配置7个hosts,4个优先级,一从,两仲裁

【huyang2】配置7个hosts,4个优先级,一从,三仲裁

rs.reconfig(cfg)

rs.isMaster()

建立均不成功,只能建立一个仲裁(奇数偶数都不可以)

【huyang2】配置7个hosts,4个优先级,两从,一仲裁

rs.reconfig(cfg)

rs.isMaster()

配置四从,结果都可以建立

实验三:配置了优先级后,测试故障转移

当前为5hosts,1从,1仲裁

优先级为:

138:27017=100   27018=95  27019=90

137:27017=85    27018=80

【huyang2】27017主库宕机

【huyang1】rs.status() 查看变化 138:27018成为主库

【huyang2】27018主库宕机

【huyang1】rs.status() 查看变化 138:27019成为主库

实验结果总结:

1、mongodb远程复制集建立hosts,只能建立奇数个hosts,不能建立偶数个hosts;

2、mongodb远程复制集建立仲裁点,只能建立一个仲裁(奇数偶数都不可以);

3、mongodb远程复制集建立从库,可以建立多个,(奇数偶数都可以);

4、配置了优先级后的mongodb远程复制集,由仲裁点和优先级决定主库宕机之后的新主库。

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

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

相关文章

hive和datax數據採集數量對不上

hive和datax數據採集數量對不上 對數據的時候發現有些對不上,在hive中 staff_id DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的數據只有1033 而在mysql中發現staff_id DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的數據有4783條記錄(昨天的記錄是4781&#…

小样本图像目标检测研究综述——张振伟论文阅读

小样本图像目标检测研究综述——张振伟(计算机工程与应用 2022) 论文阅读 目前,小样本图像目标检测方法多基于经典的俩阶段目标检测算法Faster R-CNN作为主干网络,当然也有将YOLO,SSD一阶段目标检测算法作为主干网络的…

信道的容量和复用

信道的极限容量 当信道质量比较差时,输出信号的波形难以识别,此时出现的现象称为码间串扰“ 失真的因素有:码元传输速率,信号传输距离,噪声干扰,传输媒体质量等。 奈奎斯特准则: 理想低…

Microsoft Visual Studio 2022添加.NET Framework 4.6.2框架,然后说下.NET目标包的作用。

众所周知,Microsoft Visual Studio 2022不再支持.NET Framework 4.6以下的框架。从而导致前期使用老框架开发的某些应用无法打开(打开时提示安装框架,但又安装不成功)的情况出现。 前于如何安装.NET Framework 4.5及更早版本框架的…

MySQL面试题总结(部分)

一.介绍MySQL为什么在面试中会提及 1.为什么要在面试时MySQL会被提及? 在面试中问MySQL问题有几个主要原因: 1. 数据库管理系统的重要性:MySQL作为一种常用的关系型数据库管理系统(RDBMS),在互联网和企业应用中得到广泛使用。对数…

BUUCTF Web CyberPunk WriteUp

想直接查看payload的点这里 前言 二次注入(Second-Order Injection)是指攻击者在应用程序中注入恶意数据,然后在稍后的操作或不同的上下文中再次使用该恶意数据,导致安全漏洞。它通常发生在数据库查询、数据导出、报告生成等过程…

阿里云coluder认证训练营开班!

在这个充满机遇和挑战的时代里,云计算已经成为推动企业创新和发展的关键技术。而作为云计算人才培训领域的领军企业,摩尔狮致力于培养更多优秀的云技术人才, 所以摩尔狮联合阿里云为大家打造了免费的云计算入门课程——Clouder认证集训营&…

END-TO-END OPTIMIZED IMAGE COMPRESSION论文阅读

END-TO-END OPTIMIZED IMAGE COMPRESSION 文章目录 END-TO-END OPTIMIZED IMAGE COMPRESSION单词重要不重要 摘要: 单词 重要 image compression 图像压缩 quantizer 量化器 rate–distortion performance率失真性能 不重要 a variant of 什么什么的一个变体 …

【LangChain】Document篇

概述 这些是处理文档的核心链。它们对于总结文档、回答文档问题、从文档中提取信息等很有用。 这些链都实现了一个通用接口: class BaseCombineDocumentsChain(Chain, ABC):"""Base interface for chains combining documents."""a…

DEVICENET转ETHERCAT网关连接ethercat通讯协议详细解析

你有没有遇到过生产管理系统中,设备之间的通讯问题?两个不同协议的设备进行通讯,是不是很麻烦?今天,我们为大家介绍一款神奇的产品,能够将不同协议的设备进行连接,让现场的数据交换不再困扰&…

TiDB(7):技术内幕之存储

1 引言 数据库、操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石。其中数据库更靠近应用层,是很多业务的支撑。这一领域经过了几十年的发展,不断的有新的进展。 很多人用过数据库,但是很少有人实现过一个数据库&a…

OpenCV绘制矩形

这是完整的代码: #include <opencv2/opencv.hpp>int main() {// 创建一个白色的图像cv::Mat image(500, 500, CV_8UC3, cv