博客
关于我
MongoDB系列—— Window 搭建Mongodb 集群
阅读量:798 次
发布时间:2023-02-09

本文共 1708 字,大约阅读时间需要 5 分钟。

MongoDB 副本集(Replica Set)搭建指南

MongoDB 的副本集是一种简单且高效的集群方式,适合处理读写并发情况。本文将详细介绍如何搭建一个包含主节点、备节点和仲裁节点的副本集。

副本集概述

在副本集中,主节点(Master)负责数据的写入和查询,备节点(Slave)负责数据的复制和查询。仲裁节点(Arbitrator)用于在主节点故障时选举新的主节点,确保集群的高可用性。

主节点与备节点的角色

  • 主节点:负责数据的写入和查询操作,数据持有权。
  • 备节点:在默认配置下仅作为数据的副本,无法独立处理查询。通过优化配置,可以让备节点也能处理查询请求,分担主节点的压力。
  • 仲裁节点:不存储数据,仅在主节点故障时发挥作用,确保副本集能快速恢复。

搭建步骤

1. 安装 MongoDB

  • 解压 MongoDB 数据库文件,并创建以下三个文件夹:

    masterslavearbiter
  • 在每个文件夹中创建对应的配置文件(如 master.configslave.configarbiter.config)。

  • 2. 配置文件示例

    以下是各节点的配置文件示例:

    master.config

    dbpath=D:\mongodb\master\data\dblogpath=D:\mongodb\master\data\log\mongodb.logport=2222logappend=truereplSet=zj

    slave.config

    dbpath=D:\mongodb\slave\data\dblogpath=D:\mongodb\slave\data\log\mongodb.logport=3333logappend=truereplSet=zj

    arbiter.config

    dbpath=D:\mongodb\arbiter\data\dblogpath=D:\mongodb\arbiter\data\log\mongodb.logport=4444logappend=truereplSet=zjarbiterOnly=true

    3. 启动 MongoDB 服务

  • 创建一个批处理脚本(如 install-mongodb.bat),分别在三个文件夹中运行:

    @echo offtaskkill /im mongod.exe /fstart D:\mongodb\master\bin\mongod.exe --install --logpath=D:\mongodb\master\data\log\mongodb.log --logappend --dbpath=D:\mongodb\master\data\db --replSet zjpause

    将相关路径替换为实际路径。

  • 启动所有服务。

  • 4. 连接数据库

    在命令提示符中:

    cd D:\mongodb\master\binmongo 192.168.2.129:2222

    5. 初始化副本集

    在数据库中执行以下命令:

    use zjdbconfig --zj "config={_id:'zj', members:[{_id:0, host:'192.168.2.129:2222'}, {_id:1, host:'192.168.2.129:3333'}, {_id:2, host:'192.168.2.129:4444', arbiterOnly:true}]}" rs.initiate()

    6. 验证节点状态

    执行以下命令查看副本集状态:

    rs.status()

    预期输出显示主节点状态为 PRIMARY。

    备注

  • 优化备节点查询:通过配置 replication.readOnly = true,可以让备节点支持查询操作,减少主节点压力。

  • 常见问题

    • 如果出现 STARTUP2 状态,可能是配置加载延迟。
    • 如果出现 UNKNOWN 状态,可能是网络连接问题。
  • 高可用性

    • 确保所有节点在同一网络段内。
    • 定期检查网络连接,确保副本集内部通信正常。
  • 通过以上步骤,可以成功搭建一个高可用性、负载均衡的 MongoDB 副本集。

    转载地址:http://jsffk.baihongyu.com/

    你可能感兴趣的文章
    MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
    查看>>
    mxGraph改变图形大小重置overlay位置
    查看>>
    MongoDB可视化客户端管理工具之NoSQLbooster4mongo
    查看>>
    Mongodb学习总结(1)——常用NoSql数据库比较
    查看>>
    MongoDB学习笔记(8)--索引及优化索引
    查看>>
    MongoDB学习笔记(四)--索引 && 性能优化
    查看>>
    mongodb定时备份数据库
    查看>>
    mongodb导出csv json
    查看>>
    MongoDB快速入门
    查看>>
    MongoDB插入数据的3种方法
    查看>>
    mongoDB教程(一):数据库简介
    查看>>
    mongoDB教程(十):导入、导出
    查看>>
    mongodb数据库运维常用语法
    查看>>
    MongoDB整理笔记の增加节点
    查看>>
    MongoDB文档常见查询
    查看>>
    mongoDb概述(翻译自官网)
    查看>>
    mongodb每天上亿数据量定期清理
    查看>>
    MongoDB的Decimal128类型转换成Java的BigDecimal类型错误
    查看>>
    mongoDB详解
    查看>>
    MongoDB语句
    查看>>