日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb一致性协议_mongodb副本集用一致性快照方法添加从节点步骤

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb一致性协议_mongodb副本集用一致性快照方法添加从节点步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境描述

主節點 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備份方式添加一個從節點方法類似。

總結

以上是生活随笔為你收集整理的mongodb一致性协议_mongodb副本集用一致性快照方法添加从节点步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。