一、上云步骤介绍
1、MongoDB上云准备
2、停机迁移准备
二、MongoDB数据同步到公有云
1、环境准备
机房mongodb集群
192.168.184.161 27001
192.168.184.161 27001
192.168.184.161 27001
集群信息:
2、申请云上MongoDB
(1)购买mongodb
稍等一会,如下就创建好了
(2)添加白名单分组
(3)申请公网访问地址
(4)创建业务库
(5)创建用户
3、安装配置mongo-shake
(1)下载安装包
机房163节点下载MongoShake
mkdir -p /data/mongoshake
cd /data/mongoshake
wget https://github.com/alibaba/MongoShake/releases/download/release-v2.8.4-20230425/mongo-shake-v2.8.4.tgz
(2)解压安装包
cd /data/mongoshake
tar -zxvf mongo-shake-v2.8.4.tgz
(3)修改配置文件
cd /data/mongoshake/mongo-shake-v2.8.4
vim collector.conf
修改如下内容:
mongo_urls 填写机房的mongodb的地址
tunnel.address 填写云上mongodb的地址
mongo_urls = mongodb://mongoshake_rw:admin@192.168.184.161:27001,192.168.184.162:27001,192.168.184.163:27001
sync_mode = all
tunnel.address = mongodb://mongoshake_rw:Twm@183465@dds-gc7c4edd239be8541256-pub.mongodb.cn-chengdu.rds.aliyuncs.com:3717
incr_sync.mongo_fetch_method = change_stream
云上mongodb的公网地址是这里
(4)测试连接
这里选择公网地址中的一个地址进行连接
mongosh onlinestore --host dds-gc7c4edd239be8541256-pub.mongodb.cn-chengdu.rds.aliyuncs.com --port 3717 -u onlinestore_rw -p Twm_183465
mongosh admin --host dds-gc7c4edd239be8541256-pub.mongodb.cn-chengdu.rds.aliyuncs.com --port 3717 -u mongoshake_rw -p Twm_183465
(5)启动同步
cd /data/mongoshake/mongo-shake-v2.8.4
nohup ./collector.linux -conf=collector.conf &
查看日志
cd /data/mongoshake/mongo-shake-v2.8.4/logs
tail -100f collector.log
4、上云前准备
(1)检查数据是否同步
源端写入数据
主节点执行,我这里162是主节点
mongosh onlinestore --port 27001 -u onlinestore_rw -p admin
db.one.insertOne({name:'test_20250427'});
目标端查看
mongosh onlinestore --host dds-gc7c4edd239be8541256-pub.mongodb.cn-chengdu.rds.aliyuncs.com --port 3717 -u onlinestore_rw -p Twm_183465
show tables;
db.one.find();
(2)增加监控和备份
(3)开放白名单
三、迁移过程
1、查看A机房MongoDB数据库是否有连接
161节点执行,查看连接
mongosh --port 27001 -u repl -p admin --eval "db.currentOp()"
2、确定是否有同步延迟
机房写入数据,然后云上进行查看
3、停止同步
停止mongo-shake进程