MongoDB 4.4 副本集部署详解

在当今数据驱动的世界中,MongoDB作为一种流行的NoSQL数据库,以其灵活性和高性能而闻名。本教程将详细介绍如何在同一台机器上部署MongoDB 4.4的副本集,包括一个主节点和两个从节点,实现伪分布式架构。

环境准备

在开始之前,请确保您的系统中已安装MongoDB 4.4。如果尚未安装,请访问MongoDB官方网站下载最新版本。本教程假设您已经具备MongoDB的基本知识,并熟悉一些常用的MongoDB操作。

如已启动MongoDB请先关闭。

节点配置

我们将设置以下三个节点:

  • 主节点localhost:27017
  • 从节点1localhost:27018
  • 从节点2localhost:27019

先创建3个不同文件夹以做节点。

每个节点都需要有自己的数据目录(data)和日志目录(log)。例如,对于主节点,您可以创建/data/db/data/log目录。

启动实例

使用以下命令格式启动每个MongoDB实例:

bin/mongod --port 端口号 --dbpath 数据路径 --logpath 日志路径 --replSet 副本集名称

例如,启动从节点1的命令如下:

mongod --port 27018 --dbpath /data/db1 --logpath /data/log/mongo1.log --replSet rs0

确保为每个节点指定正确的端口、数据路径和日志路径。这些实例启动后,请保持命令行窗口开启,因为这些服务是一次性的,关闭窗口将停止服务。

节点启动

节点1

节点2

节点3

注意事项

在启动节点时,可能会遇到一些常见问题,如端口被占用或路径配置错误。在排除这些问题后,如果仍然遇到困难,请尝试以管理员身份运行命令提示符。

配置副本集

在所有节点启动后,我们需要配置副本集。连接到任意一个节点,并执行以下步骤:

  1. 切换到admin数据库:
use admin
  1. 定义副本集配置:
config={_id:"rs0",members:[
  {_id:0,host:"localhost:27017",priority:3},
  {_id:1,host:"localhost:27018",priority:2},
  {_id:2,host:"localhost:27019",priority:1}
]}

在这里,_id是副本集的唯一标识,priority定义了节点的优先级,数字越大,优先级越高。

  1. 初始化副本集配置:

rs.initiate(config)

执行此命令后,副本集将开始选举过程,选择一个主节点和两个从节点。

从节点配置

默认情况下,从节点不接受写操作。如果您需要在从节点上执行操作,可以使用以下命令:

rs.slaveOk()

或者使用更推荐的命令:

rs.secondaryOk()

这将允许从节点处理读操作。

验证副本集

为了验证副本集是否配置正确,您可以在主节点上添加一些数据,然后在从节点上检查这些数据是否已同步。如果在从节点上成功检索到这些数据,那么恭喜您,副本集已成功部署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值