分片副本集1 (3实例)  主1 从1 裁1

分片副本集2 (3实例)  主1 从1 裁1

配置副本集(3实例) 主1 从2

路由(2配置)

用Windows平台搭建

配置目录设置:

├─config
│ CFG-ARBITER.cfg
│ CFG-PRIMARY.cfg
│ CFG-REPLICA.cfg
│ ROUTER1.cfg
│ ROUTER2.cfg
│ RS1-ARBITER.cfg
│ RS1-PRIMARY.cfg
│ RS1-REPLICA.cfg
│ RS2-ARBITER.cfg
│ RS2-PRIMARY.cfg
│ RS2-REPLICA.cfg

数据存储设置:

├─data
│ ├─CFG-RS
│ │ ├─ARBITER
│ │ ├─PRIMARY
│ │ └─REPLICA
│ ├─RS-01
│ │ ├─ARBITER
│ │ ├─PRIMARY
│ │ └─REPLICA
│ └─RS-02
│ ├─ARBITER
│ ├─PRIMARY
│ └─REPLICA

日志目录设置:

├─log
│ │ cfg-arbiter.log
│ │ cfg-primary.log
│ │ cfg-replica.log
│ │ router1.log
│ │ rs-01-arbiter.log
│ │ rs-01-primary.log
│ │ rs-01-replica.log
│ │ rs-02-arbiter.log
│ │ rs-02-primary.log
│ │ rs-02-replica.log

pid目录

├─pid
│ cfg-arbiter.pid
│ cfg-primary.pid
│ cfg-replica.pid
│ router1.pid
│ rs-01-arbiter.pid
│ rs-01-primary.pid
│ rs-01-replica.pid
│ rs-02-arbiter.pid
│ rs-02-primary.pid
│ rs-02-replica.pid

MongoDB源

└─source
│ LICENSE-Community.txt
│ mongo.cfg
│ MPL-2
│ README
│ THIRD-PARTY-NOTICES

├─bin
│ Install-Compass.ps1
│ mongo.exe
│ mongo.pdb
│ mongod.exe
│ mongod.pdb
│ mongos.2022-02-03T02-19-37.mdmp
│ mongos.2022-02-03T02-20-29.mdmp
│ mongos.exe
│ mongos.pdb
│ vcredist_x64.exe

配置样本:

# mongod.conf

# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data.
systemLog:
destination: file
logAppend: true
path: "D:\\MongoDB ShardsCluster\\log\\rs-01-primary.log" # 指定好日志输出位置(每个实例都区分)
# Where and how to store data.
storage:
dbPath: "D:\\MongoDB ShardsCluster\\data\\RS-01\\PRIMARY" # 指定好数据存放位置(每个实例都区分)
journal:
enabled: true
# engine:
# wiredTiger: # how the process runs
processManagement:
# fork: true # fork and run in background
pidFilePath: "D:\\MongoDB ShardsCluster\\pid\\rs-01-primary.pid" # 进程号存放文件(每个实例都区分) # location of pidfile
# timeZoneInfo: /usr/share/zoneinfo # network interfaces 27017
net:
port: 27101 # 这里副本集1的 主:270101 从:27102 裁:27103,副本集2的 主:27201 从:27202 裁:27203,配置集 主:27301 从 27302 + 270303
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. #security: #operationProfiling: #replication:
replication:
#副本集的名称 副本集1 shards_rs_1 副本集2 shards_rs_2 配置集就写配置集 shards_config (名称自定义,建议是见名知义)
replSetName:
"shards_rs_1"
#sharding:
sharding:
#分片角色 副本集1和2都是这个角色,不要改成别的东西, 配置集则改成【configsvr】
clusterRole:
"shardsvr"
## Enterprise-Only Options #auditLog: #snmp:

路由配置则不一样:

# mongod.conf

# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data.
systemLog:
destination: file
logAppend: true
path: "D:\\MongoDB ShardsCluster\\log\\router1.log" # (路由1,2 区分)
# Where and how to store data.
# storage:
# dbPath: "D:\\MongoDB ShardsCluster\\Router\\Node01\\data"
# journal:
#enabled: true
# engine:
# wiredTiger: # how the process runs
processManagement:
# fork: true # fork and run in background
pidFilePath: "D:\\MongoDB ShardsCluster\\pid\\router1.pid" #(路由1,2 区分) # location of pidfile
# timeZoneInfo: /usr/share/zoneinfo # network interfaces 27017
net:
port: 27401 # 路由1 27401 路由2 27402
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. #security: #operationProfiling: #replication: #sharding:
sharding:
#指定配置节点副本集 路由1和路由2都写一样的
configDB: shards_config
/192.168.124.9:27301,192.168.124.9:27302,192.168.124.9:27303
## Enterprise-Only Options #auditLog: #snmp:

配置和目录都建好之后,安装服务到Windows服务列表中

先把副本集处理好

# 分片副本集和配置副本集的服务安装
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\RS1-PRIMARY.cfg" --serviceName "MongoDB-RS1-PRIMARY" --serviceDisplayName "MongoDB-RS1-PRIMARY" --install
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\RS1-REPLICA.cfg" --serviceName "MongoDB-RS1-REPLICA" --serviceDisplayName "MongoDB-RS1-REPLICA" --install
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\RS1-ARBITER.cfg" --serviceName "MongoDB-RS1-ARBITER" --serviceDisplayName "MongoDB-RS1-ARBITER" --install "D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\RS2-PRIMARY.cfg" --serviceName "MongoDB-RS2-PRIMARY" --serviceDisplayName "MongoDB-RS2-PRIMARY" --install
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\RS2-REPLICA.cfg" --serviceName "MongoDB-RS2-REPLICA" --serviceDisplayName "MongoDB-RS2-REPLICA" --install
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\RS2-ARBITER.cfg" --serviceName "MongoDB-RS2-ARBITER" --serviceDisplayName "MongoDB-RS2-ARBITER" --install "D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\CFG-PRIMARY.cfg" --serviceName "MongoDB-CFG-PRIMARY" --serviceDisplayName "MongoDB-CFG-PRIMARY" --install
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\CFG-REPLICA.cfg" --serviceName "MongoDB-CFG-REPLICA" --serviceDisplayName "MongoDB-CFG-REPLICA" --install
"D:\MongoDB ShardsCluster\source\bin\mongod.exe" --config "D:\MongoDB ShardsCluster\config\CFG-ARBITER.cfg" --serviceName "MongoDB-CFG-ARBITER" --serviceDisplayName "MongoDB-CFG-ARBITER" --install # 启动配置
NET START "MongoDB-RS1-PRIMARY"
NET START "MongoDB-RS1-REPLICA"
NET START "MongoDB-RS1-ARBITER" NET START "MongoDB-RS2-PRIMARY"
NET START "MongoDB-RS2-REPLICA"
NET START "MongoDB-RS2-ARBITER" NET START "MongoDB-CFG-PRIMARY"
NET START "MongoDB-CFG-REPLICA"
NET START "MongoDB-CFG-ARBITER"

如果出现错误了,可以及时停止服务并卸载

# 停止服务
NET STOP "MongoDB-RS1-PRIMARY"
NET STOP "MongoDB-RS1-REPLICA"
NET STOP "MongoDB-RS1-ARBITER" NET STOP "MongoDB-RS2-PRIMARY"
NET STOP "MongoDB-RS2-REPLICA"
NET STOP "MongoDB-RS2-ARBITER" NET STOP "MongoDB-CFG-PRIMARY"
NET STOP "MongoDB-CFG-REPLICA"
NET STOP "MongoDB-CFG-ARBITER" # 删除服务
SC DELETE "MongoDB-RS1-PRIMARY"
SC DELETE "MongoDB-RS1-REPLICA"
SC DELETE "MongoDB-RS1-ARBITER" SC DELETE "MongoDB-RS2-PRIMARY"
SC DELETE "MongoDB-RS2-REPLICA"
SC DELETE "MongoDB-RS2-ARBITER" SC DELETE "MongoDB-CFG-PRIMARY"
SC DELETE "MongoDB-CFG-REPLICA"
SC DELETE "MongoDB-CFG-ARBITER"

创建客户端的快捷方式

# 副本集1 主节点登陆
"D:\MongoDB ShardsCluster\source\bin\mongo.exe" --port=27101 # 副本集2 主节点登陆
"D:\MongoDB ShardsCluster\source\bin\mongo.exe" --port=27201 # 配置集 主节点登陆
"D:\MongoDB ShardsCluster\source\bin\mongo.exe" --port=27301 # 路由1和路由2
"D:\MongoDB ShardsCluster\source\bin\mongo.exe" --port=27401
"D:\MongoDB ShardsCluster\source\bin\mongo.exe" --port=27402

登陆主节点进行副本初始化配置

# RS1-PRIMARY 添加副本节点 和仲裁节点
rs.initiate()
rs.conf()
rs.add("192.168.124.9:27102")
rs.addArb("192.168.124.9:27103") # RS2-PRIMARY 添加副本节点 和仲裁节点
rs.initiate()
rs.add("192.168.124.9:27202")
rs.addArb("192.168.124.9:27203") # CFG-PRIMARY 配置副本集主节点追加从节点
rs.initiate()
rs.add("192.168.124.9:27302")
rs.add("192.168.124.9:27303")

确认副本集都创建无误后再开始启动路由:

路由配置,注意路由是用的mongos.exe,副本集是用mongod.exe

"D:\MongoDB ShardsCluster\source\bin\mongos.exe" --config "D:\MongoDB ShardsCluster\config\ROUTER1.cfg" --serviceName "MongoDB-ROUTER1" --serviceDisplayName "MongoDB-ROUTER1" --install
"D:\MongoDB ShardsCluster\source\bin\mongos.exe" --config "D:\MongoDB ShardsCluster\config\ROUTER2.cfg" --serviceName "MongoDB-ROUTER2" --serviceDisplayName "MongoDB-ROUTER2" --install NET START "MongoDB-ROUTER1"
NET START "MongoDB-ROUTER2" NET STOP "MongoDB-ROUTER1"
NET STOP "MongoDB-ROUTER2" SC DELETE "MongoDB-ROUTER1"
SC DELETE "MongoDB-ROUTER2"

进入任意路由进行分片添加

(发现直接写IP地址添加会报错说节点不属于副本集,所以改成主机名的了)

sh.addShard("shards_rs_1/DESKTOP-P46A09B:27101,DESKTOP-P46A09B:27102,DESKTOP-P46A09B:27103")
sh.addShard("shards_rs_2/DESKTOP-P46A09B:27201,DESKTOP-P46A09B:27202,DESKTOP-P46A09B:27203")

【MongoDB】Re05 分片集群(Win平台搭建)的更多相关文章

  1. 【MongoDB】在windows平台下mongodb的分片集群(五)

    本篇接着上面的四篇继续讲述在window平台下mongodb的分片集群搭建. 在分片集群中也照样能够创建索引,创建索引的方式与在单独数据库中创建索引的方式一样.因此这不再多说.本篇主要聚焦在分片键的选 ...

  2. MongoDB之分片集群(Sharding)

    MongoDB之分片集群(Sharding) 一.基本概念 分片(sharding)是一个通过多台机器分配数据的方法.MongoDB使用分片支持大数据集和高吞吐量的操作.大数据集和高吞吐量的数据库系统 ...

  3. 【MongoDB】在windows平台下搭建mongodb的分片集群(二)

    在上一片博客中我们讲了Mongodb数据库中分片集群的主要原理. 在本篇博客中我们主要讲描写叙述分片集群的搭建过程.配置分片集群主要有两个步骤.第一启动全部须要的mongod和mongos进程. 第二 ...

  4. MongoDB分片集群原理、搭建及测试详解

    随着技术的发展,目前数据库系统对于海量数据的存储和高效访问海量数据要求越来越高,MongoDB分片机制就是为了解决海量数据的存储和高效海量数据访问而生. MongoDB分片集群由mongos路由进程( ...

  5. MongoDB之分片集群与复制集

    分片集群 1.1.概念 分片集群是将数据存储在多台机器上的操作,主要由查询路由mongos.分片.配置服务器组成. ●查询路由根据配置服务器上的元数据将请求分发到相应的分片上,本身不存储集群的元数据, ...

  6. MongoDB笔记: 分片集群

    MongoDB分片集群由三个模块组成 shard: 分片(或者分区)模块, 每个分片分别存储一部分数据, 从MongoDB 3.6开始, 分片必须是replica set(副本集) mongos: m ...

  7. 【MongoDB】在windows平台下mongodb的分片集群(六)

    在本篇博客中我们主要讨论下博客的管理.因为已经在前面五篇中写了具体的实例,因此这里就不再举例说明. 一.监控 分片集群是整个体系中比較复杂的一块,因此更应该须要监控. 主要命令: serverstat ...

  8. MySQL集群---②Windows平台搭建MySQL CLUSTER集群

    原文:http://blog.csdn.net/mazhaojuan/article/details/42211857 本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. My ...

  9. Elasticsearch 分片集群原理、搭建、与SpringBoot整合

    单机es可以用,没毛病,但是有一点我们需要去注意,就是高可用是需要关注的,一般我们可以把es搭建成集群,2台以上就能成为es集群了.集群不仅可以实现高可用,也能实现海量数据存储的横向扩展. 新的阅读体 ...

  10. MongoDB的分片集群搭建

    MongoDB的最为自豪的一个特色之一,分片. 参考官方文档: https://docs.mongodb.com/manual/sharding/  单机压力,高频查询CPU,IO 单表压力,百万千万 ...

随机推荐

  1. wordpress 折腾记

    今天我看到一篇个人博客,我想建个人网站的心又动了. 虽说博客园已经很符合我的预期了,但我还是一直很想做一个个人网站做一些个性化的东西,今天试试用用wordpress搭建一个wordpress网站 介绍 ...

  2. Python实现求多个集合之间的并集-方法2

    之前使用过一种方法实现求集合间的并集,参考文章:https://www.cnblogs.com/mrlayfolk/p/12373532.html,这次使用另外一种方法实现,这种方法效率更高. 目的: ...

  3. JavaSE 数据类型以及基本转化与包装

    目录 数据类型. 1.基本类型(八个) 数值型 整型类型 byte型:1字节 8bit位 第一位是符号位 null short型:2字节 int 型:4字节 long型:8字节 浮点类型 float ...

  4. 代码审计——基础(JAVAEE)

    JAVAEE 目录 JAVAEE 常见框架 Struct2(控制层) Hibernate(持久层(与数据库交互)(不用再写简单的sql语句,但是需要一些列复杂的配置文件))(全ORM模型) Sprin ...

  5. xv6 磁盘中断流程和启动时调度流程

    首发公号:Rand_cs 本文讲述 xv6 中的一些细节流程,还有对之前文中遗留的问题做一些补充说明,主要有以下几个问题: 一次完整的磁盘中断流程 进入调度器后的详细流程 sched 函数中的条件判断 ...

  6. WPS WORD EXCEL 不合并显示

    WPS WORD EXCEL 不合并显示 版本:WPS 12 , 下载时间约是2023 年. 1.在开始菜单里找到 WPS OFFICE - 配置工具 2.点击"高级(A)". 3 ...

  7. shell基础概述

    1.0 编程的目的 计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果. 编程 ...

  8. 构建SaaS能力,加速数字化转型!猪齿鱼将在华为云快成长直播间开讲!

    时代的浪潮驱动着企业数字化转型.伴随着新基建.云计算成为国家战略的重要环节之一,"千行百业"开始专注于数字化转型,企业纷纷使用软件提升研发.销售.市场.消费者等不同场景下的效率,S ...

  9. 阿里也出手了!Spring CloudAlibaba AI问世了

    写在前面 在之前的文章中我们有介绍过SpringAI这个项目.SpringAI 是Spring 官方社区项目,旨在简化 Java AI 应用程序开发, 让 Java 开发者想使用 Spring 开发普 ...

  10. python 注册nacos 进行接口规范定义

    背景: 一般场景 python服务经常作为java下游的 算法服务或者 数据处理服务 但是使用http 去调用比较不灵活,通过注册到nacos上进行微服务调用才是比较爽的 1.定义feginapi的接 ...