MongoDB6.0.6 副本集搭建(CentOs8)

news2024/11/23 15:32:29

本文只说如何操作配置副本集,历程艰难,官网文档看了半天也只说了怎么添加单个,没有给出来一个完整的流程。

1.第一步安装,参考前一篇安装即可。

配置三台虚拟机:

192.168.182.142

192.168.182.143

192.168.182.144

还需要安装mongosh,安装了的可以忽略:

安装步骤如下:

1.配置repo

[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

2. 安装

yum install -y mongodb-mongosh
 
 执行
 mongosh 

2.第二步启用副本,在配置文件中添加 replSet=rs1

#指定数据库路径
dbpath=/usr/local/mongodb/data
#指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017 
#方便外网访问,外网所有ip都可以访问,不要写成固定的linux的ip
bind_ip=0.0.0.0
fork=true # 以守护进程的方式运行MongoDB,创建服务器进程
auth=false #启用用户验证

#启用日志文件
journal=true
#以后台方式运行进程

replSet=rs1
pidfilepath=/usr/local/mongodb/pid/main.pid



不添加 replSet=rs1, 初始化副本的时候会报错:MongoServerError: This node was not started with replication enabled.

配置添修改完成之后,重启三个节点。

3.第三步初始化副本集

登录任意一节点,执行 rs.initiate

rs.initiate({_id:"rs1",
            members:[{_id:0,host:"192.168.182.142:27017" ,priority:2},
            {_id:1,host:"192.168.182.143:27017",priority:1}, 
            {_id:2,host:"192.168.182.144:27017", arbiterOnly:true}]})

不用切换db,也不用授权直接在test下执行

 过了一会之后,节点显示都变了

查看rs信息

rs.status() 

{
  set: 'rs1',
  date: ISODate("2023-06-03T14:43:17.576Z"),
  myState: 1,
  term: Long("1"),
  syncSourceHost: '',
  syncSourceId: -1,
  heartbeatIntervalMillis: Long("2000"),
  majorityVoteCount: 2,
  writeMajorityCount: 2,
  votingMembersCount: 3,
  writableVotingMembersCount: 2,
  optimes: {
    lastCommittedOpTime: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
    lastCommittedWallTime: ISODate("2023-06-03T14:43:15.072Z"),
    readConcernMajorityOpTime: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
    appliedOpTime: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
    durableOpTime: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
    lastAppliedWallTime: ISODate("2023-06-03T14:43:15.072Z"),
    lastDurableWallTime: ISODate("2023-06-03T14:43:15.072Z")
  },
  lastStableRecoveryTimestamp: Timestamp({ t: 1685803355, i: 1 }),
  electionCandidateMetrics: {
    lastElectionReason: 'electionTimeout',
    lastElectionDate: ISODate("2023-06-03T14:16:54.917Z"),
    electionTerm: Long("1"),
    lastCommittedOpTimeAtElection: { ts: Timestamp({ t: 1685801804, i: 1 }), t: Long("-1") },
    lastSeenOpTimeAtElection: { ts: Timestamp({ t: 1685801804, i: 1 }), t: Long("-1") },
    numVotesNeeded: 2,
    priorityAtElection: 2,
    electionTimeoutMillis: Long("10000"),
    numCatchUpOps: Long("0"),
    newTermStartDate: ISODate("2023-06-03T14:16:54.942Z"),
    wMajorityWriteAvailabilityDate: ISODate("2023-06-03T14:16:55.696Z")
  },
  members: [
    {
      _id: 0,
      name: '192.168.182.142:27017',
      health: 1,
      state: 1,
      stateStr: 'PRIMARY',
      uptime: 1792,
      optime: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
      optimeDate: ISODate("2023-06-03T14:43:15.000Z"),
      lastAppliedWallTime: ISODate("2023-06-03T14:43:15.072Z"),
      lastDurableWallTime: ISODate("2023-06-03T14:43:15.072Z"),
      syncSourceHost: '',
      syncSourceId: -1,
      infoMessage: '',
      electionTime: Timestamp({ t: 1685801814, i: 1 }),
      electionDate: ISODate("2023-06-03T14:16:54.000Z"),
      configVersion: 1,
      configTerm: 1,
      self: true,
      lastHeartbeatMessage: ''
    },
    {
      _id: 1,
      name: '192.168.182.143:27017',
      health: 1,
      state: 2,
      stateStr: 'SECONDARY',
      uptime: 1593,
      optime: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
      optimeDurable: { ts: Timestamp({ t: 1685803395, i: 1 }), t: Long("1") },
      optimeDate: ISODate("2023-06-03T14:43:15.000Z"),
      optimeDurableDate: ISODate("2023-06-03T14:43:15.000Z"),
      lastAppliedWallTime: ISODate("2023-06-03T14:43:15.072Z"),
      lastDurableWallTime: ISODate("2023-06-03T14:43:15.072Z"),
      lastHeartbeat: ISODate("2023-06-03T14:43:16.044Z"),
      lastHeartbeatRecv: ISODate("2023-06-03T14:43:16.865Z"),
      pingMs: Long("0"),
      lastHeartbeatMessage: '',
      syncSourceHost: '192.168.182.142:27017',
      syncSourceId: 0,
      infoMessage: '',
      configVersion: 1,
      configTerm: 1
    },
    {
      _id: 2,
      name: '192.168.182.144:27017',
      health: 1,
      state: 7,
      stateStr: 'ARBITER',
      uptime: 1593,
      lastHeartbeat: ISODate("2023-06-03T14:43:16.043Z"),
      lastHeartbeatRecv: ISODate("2023-06-03T14:43:15.901Z"),
      pingMs: Long("0"),
      lastHeartbeatMessage: '',
      syncSourceHost: '',
      syncSourceId: -1,
      infoMessage: '',
      configVersion: 1,
      configTerm: 1
    }
  ],
  ok: 1,
  '$clusterTime': {
    clusterTime: Timestamp({ t: 1685803395, i: 1 }),
    signature: {
      hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0),
      keyId: Long("0")
    }
  },
  operationTime: Timestamp({ t: 1685803395, i: 1 })
}

副本集配置遇到问题:

1.MongoServerError: not authorized on admin to execute command

        此错误是因为没有授权给admin用户对system.version表执行命令的权限,解决方法如下: > db.grantRolesToUser ( "root", [ { role: "__system", db: "admin" } ] )

2.MongoServerError: replSetInitiate quorum check failed because not all proposed set members responded affirmatively: 192.168.182.144:27017 failed with Authentication failed., 192.168.182.143:27017 failed with Authentication failed

这个错误是因为开了权限校验,导致在初始化的时候验证失败,本次成功就是因为关闭了校验

参考:

MongoDB 6.0.3副本集搭建_ITPUB博客 

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

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

相关文章

钉钉小程序页面之间传递数据如何传递对象

今天写代码的时候,发现了一个问题,在钉钉小程序页面之间传递对象数据的时候,如果直接传递一个对象那个的话,接收的那个页面得到的是一个【object Object】,而并非里面的数据,所以针对上述问题,下…

基于Spring Boot的学生志愿者管理系统的设计与实现

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对学生志愿者管理等问题,对学生…

项目计划软件 project安装包的下载和安装教程

目录 简介 安装配置过程 总结: 简介 Project是由微软公司开发的项目管理软件,旨在帮助个人和团队有效地管理项目进度、资源分配、协作和报告等工作,从而提高项目的质量和效率。Project维护项目的进程表、资源清单、成本预算、工作表和报告…

CSS-HTML知识点与高频考题解析

知识点梳理 选择器的权重和优先级 盒模型 盒子大小计算margin 的重叠计算 浮动 float浮动布局概念清理浮动 定位 position文档流概念定位分类fixed 定位特点绝对定位计算方式 flex布局 如何实现居中对齐? 理解语义化 CSS3 动画 重绘和回流 选择器的权重和优…

VTK 开发中遇到问题整理

1 Generic Warning VTK 开发 中是到 vtkOutputWindow 弹窗并提示Generic Warning&#xff1a;… vtkOutputWindow 弹窗 解决方法&#xff1a; 添加&#xff1a; #include <vtkOutputWindow.h> 在 main.cpp函数中添加&#xff1a; vtkOutputWindow::SetGlobalWarningD…

petalinux2022.2在ubantu20.04下的安装

1.Petalinux的下载路径 Downloads 这个是下载petalinux的官网路径。默认是2022.2版本&#xff0c;后期更新的均是以petalinux2022.2版本做的更新。 2.安装流程 在官网下载完成之后&#xff0c;会得到一个名为petalinux-v2022.2-10141622-installer.run的文件&#xff0c;这个文…

linux|磁盘管理工作|lvm逻辑管理卷的创建和使用总结(包括扩容,根目录扩容演示)

前言&#xff1a; 对于运维工作来说&#xff0c;磁盘管理是一个非常重要的工作。当然了&#xff0c;此类工作也是比较偏向底层的一项工作。 一个合理的磁盘分区设置&#xff0c;文件系统格式&#xff0c;以及准确的lvm逻辑管理会对我们的后期的扩展工作&#xff0c;管理工作带…

深入理解设计原则之单一职责原则(SRP)【软件架构设计】

系列文章目录 C高性能优化编程系列 深入理解软件架构设计系列 深入理解设计模式系列 高级C并发线程编程 SRP&#xff1a;单一职责原则 系列文章目录1、单一职责原则的定义和解读2、单一职责原则案例解读2.1、违背单一职责原则反面案例2.2、违背单一职责原则反面案例 - 解决方…

Openwrt_XiaoMiR3G路由器_刷入Breed固件

当我刷完Breed后&#xff0c;重启没有进入原来的小米路由器固件&#xff0c;但可以进入breed控制台。目前不清楚那个环节出错了。所以本过程会导致路由器无法再直接使用&#xff01;&#xff01;&#xff01;。 本过程只刷入Breed&#xff0c;接着编译OpenWrt和刷入OpenWrt请参…

git命令的使用

1. 查看文件 git cat-file -p 仓库路径下右键 Git Bash Here 打开git命令窗口&#xff1a; 复制某个文件的版本号&#xff1a; 粘贴到git命令窗口&#xff0c;会显示文件的提交信息&#xff1a; 查看 tree后面的版本号&#xff0c;则会看到详细提交信息&#xff1a; 查看hell…

第8章 泛型程序设计

文章目录 为什么要使用泛型程序设计类型参数的好处谁想成为泛型程序员 定义简单泛型类泛型方法类型变量的限定泛型代码和虚拟机类型擦除转换泛型表达式转换泛型方法类型擦除与多态会发生冲突桥方法实现多态桥方法与可协变的返回类型 调用遗留代码 限制与局限性泛型类型的继承规…

基于SpringBoot+Mybatis+Mysql+vue校园二手交易市场

基于SpringBootMybatisMysqlvue校园二手交易市场 一、系统介绍1、系统主要功能&#xff1a;2、环境配置 二、功能展示1.主页(客户)2.登陆、注册&#xff08;客户&#xff09;3.我的购物车(客户)4.我的商品详情(客户)5.我的商铺&#xff08;客户、商家&#xff09;6.我的信息&am…

zabbix5配置QQ邮件告警

1、服务端配置 编写邮件发送脚本 [fieldyangwww alertscripts]$ pwd /usr/lib/zabbix/alertscripts [fieldyangwww alertscripts]$ ll 总用量 8 -rwxr-xr-x 1 root root 136 5月 16 23:28 mail.sh -rwxr-xr-x 1 root root 751 5月 16 23:56 send_mail.py [fieldyangw…

信息与编码 SCUEC DDDD 期末考试整理(2)

1.求下面三种信道的信道容量 行列数量相等的情况 行比列多的情况 列比行多的情况 小贴士 2.客观世界三大基本要素&#xff1a;物质&#xff0c;能量&#xff0c;信息。 3.信息&#xff1a;是对事物运动状态和变化方式的表征&#xff0c;它存在于任何事物之中&#xff0c;可以…

机器学习算法系列(六)-- 朴素贝叶斯

.# 机器学习算法系列之 – 朴素贝叶斯 朴素贝叶斯法是基于概率统计&#xff0c;特征条件独立假设的分类方法&#xff0c;是一种非常常用的机器学习算法&#xff1b;通常用于处理文本分类和情感分析等自然语言处理任务中。相对于其他复杂的模型&#xff0c;朴素贝叶斯算法具有简…

提防利用 zip 域的新型网络钓鱼技术“浏览器中的文件归档器”

“浏览器中的文件存档器”是一种新的网络钓鱼技术,当受害者访问 .ZIP 域时,网络钓鱼者可以利用该技术。当受害者访问 .ZIP 域时,网络钓鱼者可以使用一种称为“浏览器中的文件存档器”的新型网络钓鱼技术在 Web 浏览器中“模拟”文件存档器软件。安全研究员 mr.d0x 详细介绍了…

A-可达鸭数学

题目链接 示例1 输入 9 1 -1 0 6 54 -8 520 1907 -2023输出 w m b wmb wmbbb mbw wmbwwmw wbmbmmbm mbwmbbwm备注: 请注意&#xff0c;在可达鸭数学里是没有负号的。 请注意&#xff0c;不要输出多余的前导b&#xff0c;否则会被判Wrong Answer。&#xff08;例如&#xff…

英文论文(sci)解读复现【NO.17】旋转至参加:卷积三重注意力模块

此前出了目标检测算法改进专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

Elasticsearch第一天学习笔记

目录 一、Elasticsearch概述 二、elasticsearch入门 一、Elasticsearch概述 &#xff08;一&#xff09;elasticsearch是什么&#xff1f; The Elastic Stack, 包括 Elasticsearch 、 Kibana 、 Beats 和 Logstash &#xff08;也称为 ELK Stack &#xff09;。 Elaticsear…

数据库之主键、联合主键

参考文章&#xff1a;数据库之主键、联合主键 一、主键、联合主键简介 数据库主键是用来标记数据记录唯一性的列&#xff0c;不能为空&#xff0c;不能重复。 主键具有的特点&#xff1a;唯一性、非空性。 数据库联合主键&#xff1a;可以将多个列同时作为主键。&#xff0…