linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux基础建设 >

MongoDB副本集用一致性快照方法添加从节点步骤

时间:2019-09-18  来源:未知  作者:admin666

环境描述

主节点 192.168.0.1:27002

两个从节点

192.168.0.2:27002

192.168.0.3:27002

目标:用一致性快照方式添加第三个从节点192.168.0.3

步骤简述:

1)主节点上进行一致性快照备份

2)从节点上进行一致性快照恢复,仅仅对数据部分进行恢复,暂时不要对oplog进行恢复

3)初始化oplog.rs集合,并恢复oplog记录

4)初始化local数据库的其他两个集合db.replset.election,db.system.replset

5)修改数据库配置并重启数据库(这一步操作前实例不开启认证模式、复制集的配置),

6)用rs.add("HOST_NAME:PORT")命令将从节点添加进集群

7).用rs.status()观察同步状态并校验数据的完整和一致性

一.主节点或者其他两个从节点上备份数据:

mongodump -uroot -ptest --host 192.168.0.2 --authenticationDatabase=admin --port=27002 --oplog -o /data/mongo/backup

二.将备份文件scp到192.168.0.3上并进行恢复:

scp -r /data/mongo/backup mongo@192.168.0.3/data/mongo

三.第三个节点以单实例方式启动:

备注:需要注释掉以下副本集参数

# auth = true

#replSet = test27002

#replSet = repl_mongo

#keyFile = /data/mongo/27002/replSet.key

# su - mongo

$ mongod -f /data/mongo/27002/conf/mongodb.conf

在192.168.0.3上进行一致性快照恢复:

$ mongorestore --oplogReplay --port=27002 /data/mongo/backup

创建oplog.rs集合并初始化大小:

>use local

>db.createCollection("oplog.rs",{"capped":true,"size":100000000})

恢复一致性备份的oplog.rs集合的数据到192.168.0.3:

$ mongorestore -d local -c oplog.rs --port=27002 /data/mongo/backup/oplog.bson

需要查询主节点replset.election集合的数据并将这些数据存储到192.168.0.3节点

主DB上的操作:

$ mongo 192.168.0.1:27002/admin -uroot -ptest

test27002:PRIMARY> use local

switched to db local

test27002:PRIMARY>  db.replset.election.find()

{ "_id" : ObjectId("5d64912a1978c9b194cf7cc5"), "term" : NumberLong(2), "candidateIndex" : NumberLong(2) }

192.168.0.3节点上保存主DB上replset.election集合的数据内容:

use local

db.replset.election.save({ "_id" : ObjectId("5d64912a1978c9b194cf7cc5"), "term" : NumberLong(2), "candidateIndex" : NumberLong(2) })

关闭第三个从节点,以副本集方式启动mongodb:

> use admin

switched to db admin

> db.shutdownServer()

server should be down...

2019-09-01T18:10:57.337+0800 I NETWORK  [js] trying reconnect to 127.0.0.1:27002 failed

2019-09-01T18:10:57.337+0800 I NETWORK  [js] reconnect 127.0.0.1:27002 failed failed

>

>

修改第三个从节点配置,注释去掉:

auth = true

replSet = test27002

keyFile = /data/mongo/27002/replSet.key

以副本集方式启动mongodb

$ mongod -f  /data/mongo/27002/conf/mongodb.conf

主节点执行添加节点操作:

mongo 192.168.0.1:27002/admin -uroot -ptest

>rs.add("172.31.30.82:27001");

主节点上写入数据:

use test

for (var i=0;i<=500;i++) { db.test.insert({id:i,name:"chenfeng"}) }

登录第三个从节点进行数据验证:

>use test

>db.test.count()

说明:以上步骤和MySQL的用mysqldump或xtrabackup备份方式添加一个从节点方法类似。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

友情链接
  • Mozilla发布Firefox 67.0.4,修复沙箱逃逸漏洞
  • 蚂蚁金服正式成为CNCF云原生计算基金会黄金会员
  • Firefox 68将采用Microsoft BITS安装更新
  • OpenSSH增加对存储在RAM中的私钥的保护
  • 谷歌想实现自己的curl,为什么?
  • Raspberry Pi 4发布:更快的CPU、更大的内存
  • Firefox的UA将移除CPU架构信息
  • Ubuntu放弃支持32位应用程序实属乌龙,Steam会否重回Ubuntu怀抱
  • Qt 5.13稳定版发布:引入glTF 2.0、改进Wayland以及支持Lottie动
  • 红帽企业Linux 7现已内置Redis 5最新版
  • Slack进入微软内部禁用服务清单,GitHub也在其列?
  • 安全的全新编程语言V发布首个可用版本
  • Windows Terminal已上架,快尝鲜
  • 阿里巴巴微服务开源生态报告No.1
  • 面世两年,Google地球将支持所有基于Chromium的浏览器
  • 推进企业容器化持续创新,Rancher ECIC千人盛典完美收官
  • CentOS 8.0最新构建状态公布,或于数周后发布
  • Debian移植RISC
  • 微软拆分操作系统的计划初现雏形
  • Oracle发布基于VS Code的开发者工具,轻松使用Oracle数据库
  • Ubuntu 19.10停止支持32位的x86架构
  • 微软为Windows Terminal推出全新logo
  • 联想ThinkPad P系列笔记本预装Ubuntu系统
  • 微软发布适用于Win7/8的Microsoft Edge预览版
  • 启智平台发布联邦学习开源数据协作项目OpenI纵横
  • 经过六个多月的延迟,微软终于推出Hyper
  • ZFS On Linux 0.8.1 发布,Python可移植性工作
  • DragonFly BSD 5.6.0 发布,HAMMER2状态良好
  • Linux Kernel 5.2
  • CentOS 8.0 看起来还需要几周的时间
  • 百度网盘Linux版正式发布
  • PCIe 6.0宣布:带宽翻倍 狂飙至256GB/s
  • PHP 7.4 Alpha 发布,FFI扩展,预加载Opcache以获得更好的性能
  • Canonical将在未来的Ubuntu版本中放弃对32位架构的支持
  • Scala 2.13 发布,改进的编译器性能
  • 微软的GitHub收购了Pull Panda,并且使所有订阅完全免费
  • Windows Subsystem for Linux 2 (WSL 2)现在适用于Windows 10用
  • Debian 10 “Buster”的RISC
  • MariaDB宣布发布MariaDB Enterprise Server 10.4
  • DXVK 1.2.2 发布,带来微小的CPU开销优化
  • DragonFlyBSD 5.6 RC1 发布,VM优化,默认为HAMMER2
  • PrimeNG 8.0.0 发布,支持Angular 8,FocusTrap等
  • GIMP 2.10.12 发布,一些有用的改进
  • 清华大学Anaconda 镜像服务即将恢复
  • Debian GNU/Linux 10 “Buster” 操作系统将于2019年7月6日发布
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载