MongoDB集群同步如何实现为?
摘要:实现 MongoDB Cluster-to-Cluster 即集群同步的工具是:mongosync
详情可参考如下官方文档:
https:www.mongodb.comzh-cndocscluste
实现 MongoDB Cluster-to-Cluster 即集群同步的工具是:mongosync
详情可参考如下官方文档:
https://www.mongodb.com/zh-cn/docs/cluster-to-cluster-sync/current/quickstart/
以上这个地址的文档一看就是机器翻译的,可能有不恰当的地方,但基本可参考使用。
以下是本次在某项目地配置集群同步的简要步骤,可参考使用。
一、首先在目的集群安装同步工具mongosync
本次使用的是版本匹配的1.5.0版本:
https://fastdl.mongodb.org/tools/mongosync/mongosync-rhel80-x86_64-1.5.0.tgz
以下是我习惯使用的安装脚本:
KDR=/u01
cd ${KDR}
TGZ=mongosync-rhel80-x86_64-1.5.0
#cp_unzip_chown_ln:
cp /u01/nfs/MongoDB/${TGZ}.tgz .
tar zxvf ${TGZ}.tgz
chown -R mongod:mongod ${TGZ}
ln -s ${KDR}/${TGZ}/bin/* /usr/local/bin/
二、集群规划信息配置
在/etc/hosts文件追加host定义(mongodb25~33),方便用于MongoDB集群同步脚本调用[以下代码已做脱敏处理]
cat >> /etc/hosts << EOF
# 生产集群
2409:xx:1a mongodb25
2409:xx:1b mongodb26
2409:xx:1c mongodb27
# 容灾集群
2409:xx:1d mongodb28
2409:xx:1e mongodb29
2409:xx:1f mongodb30
# 历史数据集群
2409:xx:20 mongodb31
2409:xx:21 mongodb32
2409:xx:22 mongodb33
EOF
三、mongosync 执行
LOGFILE=mongosync.liking.`date +%Y%m%d-%H:%M`.log
mongosync \
--logPath /var/log/mongosync \
--cluster0 mongodb://admin:passwd@mongodb28:20000,mongodb29:20000,mongodb30:20000/?authSource=admin \
--cluster1 mongodb://admin:passwd@mongodb31:20000,mongodb32:20000,mongodb33:20000/?authSource=admin \
--verbosity INFO > ${LOGFILE} 2>&1 &
启用同步服务后,可以在日志目录/var/log/mongosync查看日志信息。
