MongoDB配置复制集(一主两从一仲裁)

本文详细介绍了如何在win10 64位系统上配置MongoDB 4.0的复制集,包括一主两从一仲裁节点的设置,涉及安装、环境变量配置、数据文件夹创建、配置文件编写以及启动和初始化复制集的步骤。通过设置复制集,实现了读写分离,确保了服务的高可用性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备工作

1.安装MongoDB 4.0
2.win10 64位系统

二、安装MongoDB

1.具体安装mongoDB步骤
2.配置环境变量

在这里插入图片描述

三、配置复制集

复制集主节点端口号为27100,从节点1为27101,从节点2为27102,仲裁节点为27103(端口号可以自行决定)
1.在data文件夹中新建四个文件夹,分别为primary(主服务器)、secondary1(从服务器1)、secondary2(从服务器1)、arb(仲裁服务器)
在这里插入图片描述
2.在服务器文件夹中配置文件

配置文件样本(注意:路径不要写错,路径里为双斜杠)

systemLog:
   destination: file
   path: "
### 配置 MongoDB 仲裁节点复制集 #### 准备工作 确保已经安装并配置好了三个独立的MongoDB实例,分别作为节点、从节点以及仲裁节点。每个实例应运行在不同端口上,并且可以相互通信。 #### 创建密钥文件用于安全通信 为了使成员之间能够验证身份,在所有参与复制集的服务器间共享相同的密钥文件是必要的。创建个包含随机字符串的文本文件,并将其放置于各台机器上的相同位置: ```bash openssl rand -base64 756 > /etc/mongo/mongodb-keyfile chmod 600 /etc/mongo/mongodb-keyfile ``` 此命令会生成个适合用作`keyFile`的安全密钥[^2]。 #### 修改配置文件以启用复制集模式和支持认证 编辑各个节点对应的配置文件(通常是`/etc/mongod.conf`),添加或修改如下参数来启动复制集特性: 对于节点和从节点: - 设置 `replSetName` 参数为同名称,比如 "rs0" - 启用安全性选项中的 `keyFile` 字段指向之前创建好的密钥文件路径 针对仲裁(arbiter),除了上述设置之外还需要调整其他些属性使其仅作为个投票参与者而不存储任何数据本;具体来说就是通过命令行参数指定较小的数据目录空间限制等措施减少资源占用[^3]。 #### 初始化复制集 连接到任台已配置完成的服务端执行初始化操作: ```javascript // 进入 mongo shell 并切换至 admin 库 use admin; // 定义初始状态文档数组 var config = { "_id": "rs0", // 复制集的名字 members: [ { _id: 0, host: "localhost:27017" }, { _id: 1, host: "localhost:27018" }, { _id: 2, host: "localhost:27770", arbiterOnly: true } // 添加仲裁者 ] }; // 发起 initate 请求构建新的复制集结构 rs.initiate(config); ``` 这段脚本定义了个名为 `rs0` 的复制集,其中包含了个完整的数据节点加上个只负责投票决定领导权变更的仲裁者[^1]。 #### 检查复制集的状态 可以通过以下方式查询当前集群的工作情况: ```javascript rs.status(); ``` 这将返回有关整个复制集中所有成员的信息及其健康状况报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值