MongoDB-复制集搭建

MongoDB 复制集搭建

在安装目录下新建 data/conf/log 3个文件夹,在conf文件夹下新建 mongo.config,在mongo.config中配置如下内容:

# Where and how to store data.
storage:
  dbPath: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\data
  journal:
    enabled: true
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\log\mongod.log
# network interfaces
net:
  port: 27018
  bindIp: 127.0.0.1

在 log 文件夹下创建一个 mongod.log 文件,然后分别进行拷贝两份,我这里分别有三分,端口号分别是,27018, 27019, 27020

image-20221016201826545

!> 注意修改 config 中的文件里面的 data 与 log 存放地址与端口号

注册配置 MongoDB

注册成服务:

mongod --config D:\Web\MongoDB4.X\MondoDB6666\mongodb27018\conf\mongo.config --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" --replSet "it6666" --install
mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27019\conf\mongo.config --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" --replSet "it6666" --install
mongod --config D:\Web\MongoDB4.X\MondoDB6666\MongoDB27020\conf\mongo.config --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --replSet "it6666" --install

!> 注意以上的 --config 记得更换成你自己的

  • 手动启动服务
  • 测试连接
mongo --host 127.0.0.1 --port 27018
mongo --host 127.0.0.1 --port 27019
mongo --host 127.0.0.1 --port 27020

初始化复制集

!> 在三台当中的其中一台进行执行如下命令即可初始化完毕:

rs.initiate({
_id: 'it6666',
members: [
{_id: 0, host: '127.0.0.1:27018'},
{_id: 1, host: '127.0.0.1:27019'},
{_id: 2, host: '127.0.0.1:27020'}]
})

image-20221018000909775

其它相关参数:

  • _id 整数:节点的唯一标识
  • host 字符串:节点的IP地址,包含端口号
  • arbiterOnly 布尔值:是否为投票节点,默认是false。是设置投票(选举)节点有关的参数
  • priority 整数:选举为主节点的权值,默认是1,范围0-1000
  • hidden 布尔值:是否隐藏,默认false,是设置隐藏节点有关的参数
  • votes 整数:投票数,默认为1,取值是0或1,是设置”投票“节点有关的参数
  • slaveDelay 整数:延时复制,是设置延时节点有关的参数。单位秒(s)

在主节点写入读取

只能在主节点写,因为其它节点不能写只能读默认情况下副节点是不可以读取的想要在副节点读取要开启执行 rs.slaveOk() 即可:

image-20221018003345167

posted @   BNTang  阅读(145)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示