mongodb sharding安装的备份以及恢复

mongodb sharding安装配置说明

mongo安装机器:三个linux(centos7、x86_64)机器、mongo版本:3.2.11
安装的服务有:mongos(路由服务)2个复制集、mongoc(配置服务)3个复制集、mongod(分片服务)3个分片,每个分片都是3个复制集,总的启动9个mongod服务,如下图所示:
备份工具:mongodb-consistent-backup(版本1.4.1),项目地址为https://github.com/Percona-Lab/mongodb_consistent_backup

机器1:一个mongos、1个mongoc、3个mongod
在这里插入图片描述
机器2:一个mongos、1个mongoc、3个mongod
在这里插入图片描述
机器3:1个mongoc、3个mongod
在这里插入图片描述

2、备份工具安装:

1、安装环境所需依赖工具

yum -y  install python python-devel python-virtualenv gcc git make libffi-devel openssl-devel

2、安装备份工具

wget https://github.com/Percona-Lab/mongodb_consistent_backup/releases/download/1.4.1/mongodb_consistent_backup-1.4.1-1.el7.x86_64.rpm
yum install -y  mongodb_consistent_backup-1.4.1-1.el7.x86_64.rpm

mongodb的mongodump和mongorestore必须提前安装,并可直接使用命令(位于/usr/bin下),安装如下

wget https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/3.2/x86_64/RPMS/mongodb-org-tools-3.2.11-1.el7.x86_64.rpm
yum install -y mongodb-org-tools-3.2.11-1.el7.x86_64.rpm

备份前检查分片状态(mongos所在服务器上执行,查看状态使用的ip地址:localhost,端口:27017均为mongos的)

mongostat --discover -h localhost -u admin -p 12345678 --authenticationDatabase admin --port=27017

查看无误后,出现如下:
mongodb sharding安装的备份以及恢复_第1张图片
若是查询命令无误,却验证失败报错如下:
mongodb sharding安装的备份以及恢复_第2张图片
检查分片是否可以用管理员账号密码登录验证,若是不可以,需要创建与mongos管理员账号密码一致的用户
创建分片节点的管理员用户,注意:三个分片节点都要创建,登录的节点必须是主节点(primary),节点并且只能使用localhost登录,不可以用ip地址(这是我踩坑的地方,一定要注意分片节点也要有管理员用户),如下:
mongodb sharding安装的备份以及恢复_第3张图片

3、开始备份

执行备份命令:

mongodb-consistent-backup  -u admin -p 123456  -n data -l  /data/mongodb-consistent-backup  --rotate.max_backups=2

备份完成后的,备份数据目录如下:mongodb sharding安装的备份以及恢复_第4张图片
备份目录内容如下:
mongodb sharding安装的备份以及恢复_第5张图片
注意:
1.其中latest目录下是最新备份数据
2.备份命令参数–rotate.max_backups=2是指保存备份数量2个

4、恢复备份数据(示例:恢复最新数据latest)

先解压备份目录下的压缩包,如下:
mongodb sharding安装的备份以及恢复_第6张图片

在部署有mongos和mongoc的机器上执行恢复备份命令:

恢复配置mongoc
mongorestore -h "localhost:7777"  -u admin -p 123456  --oplogReplay  --gzip --dir /data/mongodb-consistent-backup/latest/**mongoc**/dump
注:7777是指mongc服务的端口

恢复分片数据mongod,分别有三个分片数据,依次执行即可
分片1:
mongorestore -h "localhost:7777"  -u admin -p 123456  --oplogReplay  --gzip --dir /data/mongodb-consistent-backup/latest/192.168.1.89/dump
分片2:
mongorestore -h "localhost:7777"  -u admin -p 123456  --oplogReplay  --gzip --dir /data/mongodb-consistent-backup/latest/192.168.1.238/dump
分片3:
mongorestore -h "localhost:7777"  -u admin -p 123456  --oplogReplay  --gzip --dir /data/mongodb-consistent-backup/latest/192.168.1.62/dump

你可能感兴趣的:(mongodb)