IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mongodb主从复制 -> 正文阅读

[大数据]mongodb主从复制

地址规划
在这里插入图片描述
关闭27017防火墙端口
在这里插入图片描述

更改mongodb主配文件
在这里插入图片描述

互相连接查看是否连接成功
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

定义变量
首先指定 id,id 就是副本集名称,members 里面是一组数组,数组中是各 MongoDB 实例的地址和监听端口
在这里插入图片描述

打开admin库,使用 rs.initiate 方法,引用刚刚定义的变量 config,来初始化集群
在这里插入图片描述

当副本集创建并初始化完成后,终端提示符会由">“变成"test:PRIMARY>”,tset 是副本集名称,PRIMARY 代表当前实例为 Primary 主节点。一个 MongoDB 副 本集中只有一个 Primary,其它都是 Secondary。并且只有 Primary 能写入数据,Secondary 只能读但不能写。
在这里插入图片描述

当副本集初始化完成后,还需要在 Secondary 上声明自己是从节点,才能查看数据
两台从节点上声明
在这里插入图片描述

查看从节点延时情况
在这里插入图片描述

查看集群状态
在主从节点输入
rs.status()
主:
test:PRIMARY> rs.status()
{
“set” : “test”,
“date” : ISODate(“2022-01-13T02:24:28.304Z”),
“myState” : 1,
“term” : NumberLong(1),
“syncSourceHost” : “”,
“syncSourceId” : -1,
“heartbeatIntervalMillis” : NumberLong(2000),
“majorityVoteCount” : 2,
“writeMajorityCount” : 2,
“votingMembersCount” : 3,
“writableVotingMembersCount” : 3,
“optimes” : {
“lastCommittedOpTime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“lastCommittedWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“readConcernMajorityOpTime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“appliedOpTime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“durableOpTime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“lastAppliedWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:24:21.535Z”)
},
“lastStableRecoveryTimestamp” : Timestamp(1642040641, 1),
“electionCandidateMetrics” : {
“lastElectionReason” : “electionTimeout”,
“lastElectionDate” : ISODate(“2022-01-13T02:17:21.396Z”),
“electionTerm” : NumberLong(1),
“lastCommittedOpTimeAtElection” : {
“ts” : Timestamp(1642040230, 1),
“t” : NumberLong(-1)
},
“lastSeenOpTimeAtElection” : {
“ts” : Timestamp(1642040230, 1),
“t” : NumberLong(-1)
},
“numVotesNeeded” : 2,
“priorityAtElection” : 1,
“electionTimeoutMillis” : NumberLong(10000),
“numCatchUpOps” : NumberLong(0),
“newTermStartDate” : ISODate(“2022-01-13T02:17:21.430Z”),
“wMajorityWriteAvailabilityDate” : ISODate(“2022-01-13T02:17:21.531Z”)
},
“members” : [
{
“_id” : 0,
“name” : “192.168.179.172:27017”,
“health” : 1,
“state” : 1,
“stateStr” : “PRIMARY”,
“uptime” : 999,
“optime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“optimeDate” : ISODate(“2022-01-13T02:24:21Z”),
“lastAppliedWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“syncSourceHost” : “”,
“syncSourceId” : -1,
“infoMessage” : “”,
“electionTime” : Timestamp(1642040241, 1),
“electionDate” : ISODate(“2022-01-13T02:17:21Z”),
“configVersion” : 1,
“configTerm” : 1,
“self” : true,
“lastHeartbeatMessage” : “”
},
{
“_id” : 1,
“name” : “192.168.179.173:27017”,
“health” : 1,
“state” : 2,
“stateStr” : “SECONDARY”,
“uptime” : 438,
“optime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“optimeDurable” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“optimeDate” : ISODate(“2022-01-13T02:24:21Z”),
“optimeDurableDate” : ISODate(“2022-01-13T02:24:21Z”),
“lastAppliedWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“lastHeartbeat” : ISODate(“2022-01-13T02:24:28.041Z”),
“lastHeartbeatRecv” : ISODate(“2022-01-13T02:24:26.598Z”),
“pingMs” : NumberLong(0),
“lastHeartbeatMessage” : “”,
“syncSourceHost” : “192.168.179.172:27017”,
“syncSourceId” : 0,
“infoMessage” : “”,
“configVersion” : 1,
“configTerm” : 1
},
{
“_id” : 2,
“name” : “192.168.179.174:27017”,
“health” : 1,
“state” : 2,
“stateStr” : “SECONDARY”,
“uptime” : 438,
“optime” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“optimeDurable” : {
“ts” : Timestamp(1642040661, 1),
“t” : NumberLong(1)
},
“optimeDate” : ISODate(“2022-01-13T02:24:21Z”),
“optimeDurableDate” : ISODate(“2022-01-13T02:24:21Z”),
“lastAppliedWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:24:21.535Z”),
“lastHeartbeat” : ISODate(“2022-01-13T02:24:28.077Z”),
“lastHeartbeatRecv” : ISODate(“2022-01-13T02:24:26.599Z”),
“pingMs” : NumberLong(0),
“lastHeartbeatMessage” : “”,
“syncSourceHost” : “192.168.179.172:27017”,
“syncSourceId” : 0,
“infoMessage” : “”,
“configVersion” : 1,
“configTerm” : 1
}
],
“ok” : 1,
KaTeX parse error: Expected 'EOF', got '}' at position 214: …1642040661, 1) }? 从1: test:SECON…clusterTime” : {
“clusterTime” : Timestamp(1642040731, 1),
“signature” : {
“hash” : BinData(0,“AAAAAAAAAAAAAAAAAAAAAAAAAAA=”),
“keyId” : NumberLong(0)
}
},
“operationTime” : Timestamp(1642040731, 1)
}
从2:
test:SECONDARY> rs.status()
{
“set” : “test”,
“date” : ISODate(“2022-01-13T02:26:05.092Z”),
“myState” : 2,
“term” : NumberLong(1),
“syncSourceHost” : “192.168.179.172:27017”,
“syncSourceId” : 0,
“heartbeatIntervalMillis” : NumberLong(2000),
“majorityVoteCount” : 2,
“writeMajorityCount” : 2,
“votingMembersCount” : 3,
“writableVotingMembersCount” : 3,
“optimes” : {
“lastCommittedOpTime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“lastCommittedWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“readConcernMajorityOpTime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“appliedOpTime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“durableOpTime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“lastAppliedWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:26:01.553Z”)
},
“lastStableRecoveryTimestamp” : Timestamp(1642040721, 1),
“electionParticipantMetrics” : {
“votedForCandidate” : true,
“electionTerm” : NumberLong(1),
“lastVoteDate” : ISODate(“2022-01-13T02:17:21.397Z”),
“electionCandidateMemberId” : 0,
“voteReason” : “”,
“lastAppliedOpTimeAtElection” : {
“ts” : Timestamp(1642040230, 1),
“t” : NumberLong(-1)
},
“maxAppliedOpTimeInSet” : {
“ts” : Timestamp(1642040230, 1),
“t” : NumberLong(-1)
},
“priorityAtElection” : 1,
“newTermStartDate” : ISODate(“2022-01-13T02:17:21.430Z”),
“newTermAppliedDate” : ISODate(“2022-01-13T02:17:21.581Z”)
},
“members” : [
{
“_id” : 0,
“name” : “192.168.179.172:27017”,
“health” : 1,
“state” : 1,
“stateStr” : “PRIMARY”,
“uptime” : 534,
“optime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“optimeDurable” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“optimeDate” : ISODate(“2022-01-13T02:26:01Z”),
“optimeDurableDate” : ISODate(“2022-01-13T02:26:01Z”),
“lastAppliedWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“lastHeartbeat” : ISODate(“2022-01-13T02:26:04.743Z”),
“lastHeartbeatRecv” : ISODate(“2022-01-13T02:26:04.232Z”),
“pingMs” : NumberLong(0),
“lastHeartbeatMessage” : “”,
“syncSourceHost” : “”,
“syncSourceId” : -1,
“infoMessage” : “”,
“electionTime” : Timestamp(1642040241, 1),
“electionDate” : ISODate(“2022-01-13T02:17:21Z”),
“configVersion” : 1,
“configTerm” : 1
},
{
“_id” : 1,
“name” : “192.168.179.173:27017”,
“health” : 1,
“state” : 2,
“stateStr” : “SECONDARY”,
“uptime” : 534,
“optime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“optimeDurable” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“optimeDate” : ISODate(“2022-01-13T02:26:01Z”),
“optimeDurableDate” : ISODate(“2022-01-13T02:26:01Z”),
“lastAppliedWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“lastHeartbeat” : ISODate(“2022-01-13T02:26:04.743Z”),
“lastHeartbeatRecv” : ISODate(“2022-01-13T02:26:04.742Z”),
“pingMs” : NumberLong(0),
“lastHeartbeatMessage” : “”,
“syncSourceHost” : “192.168.179.172:27017”,
“syncSourceId” : 0,
“infoMessage” : “”,
“configVersion” : 1,
“configTerm” : 1
},
{
“_id” : 2,
“name” : “192.168.179.174:27017”,
“health” : 1,
“state” : 2,
“stateStr” : “SECONDARY”,
“uptime” : 1080,
“optime” : {
“ts” : Timestamp(1642040761, 1),
“t” : NumberLong(1)
},
“optimeDate” : ISODate(“2022-01-13T02:26:01Z”),
“lastAppliedWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“lastDurableWallTime” : ISODate(“2022-01-13T02:26:01.553Z”),
“syncSourceHost” : “192.168.179.172:27017”,
“syncSourceId” : 0,
“infoMessage” : “”,
“configVersion” : 1,
“configTerm” : 1,
“self” : true,
“lastHeartbeatMessage” : “”
}
],
“ok” : 1,
“$clusterTime” : {
“clusterTime” : Timestamp(1642040761, 1),
“signature” : {
“hash” : BinData(0,“AAAAAAAAAAAAAAAAAAAAAAAAAAA=”),
“keyId” : NumberLong(0)
}
},
“operationTime” : Timestamp(1642040761, 1)
}
验证主从复制
在主节点上插入数据
在这里插入图片描述

从节点验证
从1:
在这里插入图片描述

从2:
在这里插入图片描述

查看延时情况
在这里插入图片描述

优先级
MongoDB 副本集的中,Secondary 会不断检测 Primary 的健康状况,一旦 Primary 故障,各 Secondary 会根据优先级来选举一个新的 Primary。在没有指定优先级的情况下,各实例的优先级为 1。在优先级一样的情况下,无法预料到到底哪个 Secondary 会成为 Primary。
获取副本集的配置信息,各实例的优先级默认为 1
设置各实例的优先级,只有在 Primary 上可以更改优先级配置。根据 rs.config().members 中的输出,各实例的索引号从 0 开始,每次递增 1,类似数组。
在这里插入图片描述

更新mongodb副本集的配置
在这里插入图片描述

查看优先级

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:48:17  更:2022-02-05 21:50:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:54:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码