☰
云服务器mongo搭建集群-复制集
2026/10/24 4:14:06 网站建设 项目流程

目录

一、搭建复制集

创建一个三个节点 node17 、node18、node19

创建配置文件 mongodb.conf

启动

操作主库写数据、读数据

操作从库读数据

可以通过执行 rs.secondaryOk() 开启读权限

二、验证主库down掉,从库是否升为主库

原理


一、搭建复制集

单机部署参考上一篇

云服务器安装MongoDB-资源包安装-CSDN博客文章浏览阅读268次,点赞2次,收藏3次。本文详细介绍了在Linux云服务器上通过离线资源包方式安装MongoDB的完整流程,包括创建目录、上传解压安装包、配置环境变量、编写mongodb.conf配置文件、创建数据与日志目录、以配置文件方式启动mongod服务,以及本地和Navicat客户端连接验证。适用于无外网或受限网络环境下的MongoDB部署。https://blog.csdn.net/guo13313/article/details/168133600?sharetype=blogdetail&sharerId=168133600&sharerefer=PC&sharesource=guo13313&spm=1011.2480.3001.8118

复制集部署架构图

#

创建复制集文件夹,将mongodb-linux-x86_64-rhel70-4.4.8.tgz文件解压到新目录中(单机版已经配置了mongo的环境变量,此处可忽略)

mkdir /usr/local/mongodb_cluster

创建一个三个节点 node17 、node18、node19

创建配置文件 mongodb.conf

新增内容如下

# 注意 yaml格式不要tab

systemLog: destination: file path: /usr/local/mongodb_cluster/logs/node17/mongod.log logAppend: true storage: dbPath: /usr/local/mongodb_cluster/data/node17/db net: bindIp: 0.0.0.0 port: 28017 replication: replSetName: rs0 processManagement: fork: true

修改完配置文件后,从node17复制另两个文件夹 node18,node19

修改对应端口&路径

vim 后 大A 直接到最后一行

创建配置文件中对应的目录&日志文件

mkdir -p /usr/local/mongodb_cluster/logs/node17/ mkdir -p /usr/local/mongodb_cluster/data/node17/db touch /usr/local/mongodb_cluster/logs/node17/mongod.log mkdir -p /usr/local/mongodb_cluster/logs/node18/ mkdir -p /usr/local/mongodb_cluster/data/node18/db touch /usr/local/mongodb_cluster/logs/node18/mongod.log mkdir -p /usr/local/mongodb_cluster/logs/node19/ mkdir -p /usr/local/mongodb_cluster/data/node19/db touch /usr/local/mongodb_cluster/logs/node19/mongod.log

启动

mongod -f /usr/local/mongodb_cluster/node17/mongodb.conf mongod -f /usr/local/mongodb_cluster/node18/mongodb.conf mongod -f /usr/local/mongodb_cluster/node19/mongodb.conf

查看日志

# 进入任何一个mongo中,输入命令,查看复制集状态

mongo --port 28017

rs.status();

看到 replset复制集没有配置,接下来需要初始化

命令如下

rs.initiate({ _id:"rs0", members:[{ _id:0, host:"localhost:28017" },{ _id:1, host:"localhost:28018" },{ _id:2, host:"localhost:28019" }] })

再次查看 rs.status();

操作主库写数据、读数据

操作从库读数据

mongo --port 28018

直接失败

# 默认情况下非主节点不允许读数据,只能备份数据

可以通过执行rs.secondaryOk()开启读权限

二、验证主库down掉,从库是否升为主库

ps -ef|grep mongo

查看 28018

mongo --port 28018

rs.status()

原理

参考下一篇

mongodb集群模式的原理-CSDN博客mongo集群部署一起结合着方便理解云服务器mongo搭建复制集-CSDN博客本文详细介绍了在云服务器上通过离线资源包方式安装MongoDB的完整流程,包括创建目录、上传解压安装包、配置环境变量、编写mongodb.conf启动配置文件、创建数据与日志目录、以配置文件方式启动mongod服务,以及使用mongo客户端或Navicat连接验证。创建复制集文件夹,将mongodb-linux-x86_64-rhel70-4.4.8.tgz文件解压到新目录中。https://blog.csdn.net/guo13313/article/details/168651477?spm=1001.2014.3001.5501

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询