mongodb副本集搭建

news2024/12/29 10:46:38

1.本次搭建使用三台centos7主机搭建集群,关闭防火墙和selinux服务

2.主机信息如下图所示

主机名称IPPortService
A10.1.60.11427017mongodb
B10.1.60.11527017mongodb
C10.1.60.11827017mongodb

3.从官网下载mongodb安装包(我这里下载的是6.0.5版本的tgz包)

Install MongoDB Community Kubernetes Operator | MongoDB

4.创建mongodb目录并将安装包放到目录下解压(以下所有操作没有特殊标明的都要在三台主机上执行)

mkdir /etc/mongodb

tar -zxvf /etc/mongodb/mongodb-linux-x86_64-rhel70-6.0.5.tgz /etc/mongodb/

mv /etc/mongodb/mongodb-linux-x86_64-rhel70-6.0.5 /etc/mongodb/mongodb

ls /etc/mongodb

5. 创建mongodb存放数据目录和配置文件目录

cd /etc/mongodb/mongodb

mkdir data

mkdir conf

6.编辑mongodb配置文件

vi conf/mongodb.conf

systemLog:
   destination: file
   logAppend: true   #以追加的形式写入日志
   path: /etc/mongodb/mongodb/mongodb.log  #存放mongodb日志文件
storage:
   dbPath: /etc/mongodb/mongodb/data   #mongodb存放数据目录
   journal:
     enabled: true   #journal是一种用于持久化写入操作的机制。当MongoDB执行写入操作时,它会先将操作写入journal文件,然后再写入到数据文件中。这样可以确保在发生故障或崩溃时,MongoDB可以从journal文件中恢复数据,并保证数据的一致性和完整性
processManagement:
   fork: true      #在后台启动mongodb服务
   pidFilePath: /etc/mongodb/mongodb/mongodb.pid  #存放mongodb服务的pid
net:
   port: 27017   #mongodb客户端端口
   bindIp: 0.0.0.0    
replication:
   replSetName: "rs"   #副本集名称

7.启动mongodb服务

bin/mongod --config conf/mongodb.conf

 bin/mongod --config conf/mongodb.conf --shutdown 此条是mongodb停止服务命令

8.安装mongosh服务(mongodb的6.0.5版本没有自带的客户端)

参考:

安装mongodb客户端_Apex Predator的博客-CSDN博客

9.初始化副本集(在任意节点执行即可)

/etc/mongodb/mongosh-1.8.1-linux-x64/bin/mongosh --port 27017

rs.initiate({

_id:"rs"    #填写配置文件中设置的副本集名称

members:[

{_id:0,host:"10.1.60.114:27017"},

{_id:1,host:"10.1.60.115:27017"},

{_id:2,host:"10.1.60.118:27017",arbiterOnly:true}   #配置仲裁节点

]})

10.查看副本集状态

 rs.status()

可以看到副本集成功分配了主节点和备节点还有仲裁节点 

11.测试副本集主备切换

把主节点的服务先关闭,模拟主节点宕机

bin/mongod --config config/mongodb.conf --shutdown

 登录114节点查看副本集状态

/etc/mongodb/mongosh-1.8.1-linux-x64/bin/mongosh --host 10.1.60.114 --port 27017

rs.status()

 可以看到115节点服务状态不正常,114变更为了主节点,写入查询更新等操作在新的主节点上也正常,这里就不展示了,我已经测试过了

现在将115节点恢复看一下副本集状态

bin/mongod --config conf/mongodb.conf

 /etc/mongodb/mongosh-1.8.1-linux-x64/bin/mongosh --port 27017

rs.status()

可以看到115节点服务恢复正常后,变成了备节点,114依然是主节点 

 

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

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

相关文章

小家电LED显示驱动多功能语音芯片IC方案 WT2003H4 B002

随着时代的进步,智能家电的普及已经成为了一个趋势。而在智能家电中,LED显示屏也成为了不可或缺的一部分。因此,在小家电的设计中,LED显示驱动芯片的应用也越来越广泛。比如:电饭煲、电磁炉、数字时钟、咖啡机、电磁炉…

【Vue3】如何创建Vue3项目及组合式API

文章目录 前言 一、如何创建vue3项目? ①使用 vue-cli 创建 ②使用可视化ui创建 ③npm init vite-app ④npm init vuelatest 二、 API 风格 2.1 选项式 API (Options API) 2.2 组合式 API (Composition API) 总结 前言 例如:随着前端领域的不断发展&am…

【SSM框架】SpringMVC 中常见的注解和用法

SSM框架 SpringMVC 中常见的注解和用法基础注解介绍RequestMapping 注解介绍PostMapping 和 GetMapping 注解介绍 获取参数相关注解的介绍只通过 RequestMapping 来获取参数只传递一个参数传递对象参数传递多个参数(非对象) RequestParam 后端参数重命名required 必传参数的设置…

SpringBoot+Redis+自定义注解实现接口防刷(限制不同接口单位时间内最大请求次数)

场景 SpringBoot搭建的项目需要对开放的接口进行防刷限制,不同接口指定多少秒内可以请求指定次数。 比如下方限制接口一秒内最多请求一次。 注: 博客:霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主 实现 1、实现思路 首…

flink学习37:DataStream/DataSet与Table的互相转换

DataStream/DataSet转换成视图 DataStream/DataSet转换成表 表转换成DataStream/DataSet 表转换为DataStream/DataSet时,需要指定字段数据类型,最方便的就是把数据类型定为row,即行数据。 两种模式: 把表转为dataStream 把表转为d…

100ASK-V853-PRO编译烧写

100ASK_V853-PRO 环境配置及编译烧写 0.前言 本章主要介绍关于100ASK_V853-PRO开发板的Tina SDK包的下载和编译打包生成镜像,并将镜像烧录到100ASK_V853-PRO开发板上。在进行100ASK_V853-PRO开发板的环境配置前需要获取配置虚拟机系统,可以参考&#x…

【C语言督学训练营 第十二天】三篇文章吃透数据结构中的线性表(三)----- 线性表考研真题

文章目录 前言题目描述题目分析代码实战 前言 本篇博客从头到尾都在解析一道2019年考研真题中的一道关于链表的大题,虽然题目没有竞赛算法题那么复杂,那么难想,但是我们依旧可以从中收获到好多知识,本题的突破点就是快慢指针与链…

AP5153 线性降压恒流驱动芯片 2.5A

AP5153 是一种 PWM 调光的、低压 差的 LED 线性降压恒流驱动器。 AP5153 仅需要外接一个电阻和一个 NMOS 管就可以构成一个完整的 LED 恒 流驱动电路, 调节该外接电阻就可以调节 输出电流,输出电流可调范围为 20mA 到 3.0A。 AP5153 还可以通过在 DIM…

echarts x轴与y轴 刻度 数据设置

xAxis: {nameTextStyle: {fontWeight: "bold",fontSize: "20",align: "left",},splitLine: {show: false,},axisLine: {show: true,symbol: ["none", "arrow"], //加箭头处symbolOffset: 0,lineStyle: {color: "rgb(12…

aardio的优缺点,强烈推荐大家试用一下,可以用它在windows下面写一些小工具

概述 官网 aardio是一种用于Windows平台的脚本编程语言,以及一个功能丰富的集成开发环境(IDE)。它结合了强大的原生Windows API访问能力和简单易学的语法。以下是aardio的一些优缺点。 优点: 简单易学:aardio的语法简…

Linux | 本地Yum源 | 网络Yum源(阿里云Yum源)

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 本地Yum源配置 创建挂载点目录 [rootlocalhost ~]# mkdir /mnt/cdrom [rootlocalhost ~]# df /mnt/cdrom/ 文件系统 1K-块 已用 可用 已用%…

慎入坑:腾讯云轻量2核2G3M服务器30元不建议选择

腾讯云轻量应用服务器2核2G3M带宽30元3个月不建议买,自带3M带宽,下载速度可达384KB/秒,100%CPU性能,系统盘为40GB SSD盘,200GB月流量,折合每天6.6G流量,地域节点可选上海/广州/北京,…

React Router 6 函数式组件withRouter 路由属性配置

withRouter为解决开发过程中函数组件路由参数获取问题,之前版本的withRouter是直接可以导入使用的,现在的需要手写 这里使用了hooks,获取路由、参数等相关信息 需要在函数式组件内使用props,用法: 1.需要先使用高阶组…

K8s常见面试题20问

K8s常见面试题19问 收集了一些K8s常见问题和同学们面试常被问到的问题. 如果有新的面试题私聊或者留言给我 1. Docker和虚拟机有那些不同 虚拟化环境下每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。 容器之间可以共…

MySQL数据库备份并还原

使用Navicat和命令行备份并恢复数据库 第三方工具备份并恢复步骤1步骤2步骤3步骤4:步骤5 命令行方式备份并恢复:步骤1步骤2步骤3步骤4 第三方工具备份并恢复 步骤1 步骤2 在弹出的窗口上选择要备份的路径,单击保存,下图为备份完…

MySQL与Hadoop数据同步方案:Sqoop与Flume的应用探究【上进小菜猪大数据系列】

📬📬我是上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货,欢迎关注。 MySQL与Hadoop数据同步 随着大数据技术的发展,越来越多的企业开始采用分布式系统和云计算技术来处理和存储海量数…

物理机CentOS7.9 安装后无网卡避坑(一) 找不到网卡

1、查看物理网卡 lspci | grep -i ethernet 2、下载网卡驱动 网卡驱动链接 Index of /elrepo/elrepo/el7/x86_64/RPMS (usf.edu) 选择对应版本的驱动 3、使用U盘将下载好的网卡驱动放到新装的机器,任意目录。 4、检查软件安装情况: rpm -qa | gre…

【rust】| 03——语法基础 | 数据类型

系列文章目录 【rust】| 00——开发环境搭建 【rust】| 01——编译并运行第一个rust程序 【rust】| 02——语法基础_变量(不可变?)和常量 【rust】| 03——语法基础 | 数据类型 【rust】| 04——语法基础 | 函数 【rust】| 05——语法基础 | 流程控制 文章目录 前言数据类型1.…

浅析S32K324的时钟树

S32K3XX系列的时钟树梳理 如下图为S32K3XX系列的时钟树图: 一、时钟源 时钟源说明FIRC快速内部RC时钟源SIRC慢速内部RC时钟源FXOSC快速外部晶振时钟源SXOSC慢速外部晶振时钟源 S32K3系列的mcu有4个时钟源如上表。 二、FIRC(快速内部RC时钟源&#…

excel中英文互译

在excel运行宏时弹出下面的提示: 无法运行“XXXXX”宏。可能是因为该宏在此工作薄中不可用,或者所有的宏都被禁用的错误提示 解决办法: 1、点击“文件”选项卡; 2、在选项卡界面窗口中选择“选项”按钮; 3、在“选项…