分片副本集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. ABC342

    E 建反图 + 拓扑排序. 先求出直接与 \(n\) 连接的点的答,就是最后一辆车的发车时间.然后再做拓扑排序. 假如我们知道点 \(u\) 的答案为 \(ans_u\) 并且 \(u,v\) 相连, ...

  2. java线程的park unpark方法

    标签(空格分隔): 多线程 park 和 unpark的使用 park和unpark并不是线程的方法,而是LockSupport的静态方法 暂停当前线程 LockSupport.park();//所在 ...

  3. Aspect切面进行统一参数处理demo

    Aspect切面进行统一参数处理demo //导入 implementation('org.springframework:spring-aspects:5.3.22') import com.exa ...

  4. 博客正式更换为emlog

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 博客正式更换为emlog 日期:2017-4-2 阿珏 谈 ...

  5. python globals()[]将字符串转化类,并通过反射执行方法

    背景: 通过关键字设计ui自动化框架,将测试用例及其步骤存放到excel文件:其中步骤中包含了封装好的关键字方法,如打开浏览器.输入页面操作等,关键字保存的内容:具体类实例.方法 通过excel获取到 ...

  6. 阿里云ecs自定义镜像并导出到OSS、并下载

    OSS是什么? 有个文章说得比较浅显清楚:什么是OSS?5分钟带你了解! - 知乎 (zhihu.com) 这里摘选核心内容: 白话文解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了文件下载. ...

  7. 加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新

    6月21日-23日,2024华为开发者大会(HDC 2024)如期举行.在22日的[鸿蒙生态伙伴SDK]分论坛中,正式发布了[鸿蒙生态伙伴SDK市场],其中蚂蚁数科旗下移动开发平台mPaaS(以下简称 ...

  8. selenium窗口之间的切换

    import time from selenium.webdriver import Edge from selenium.webdriver.common.by import By from sel ...

  9. 基于Bootstrap Blazor开源的.NET通用后台权限管理系统

    前言 今天大姚给大家分享一个基于Bootstrap Blazor开源的.NET通用后台权限管理系统,后台管理页面兼容所有主流浏览器,完全响应式布局(支持电脑.平板.手机等所有主流设备),可切换至 Bl ...

  10. 【Playwright+Python】系列教程(四)Pytest 插件在Playwright中的使用

    一.命令行使用详解 使用Pytest插件在Playwright 中来编写端到端的测试. 1.命令行执行测试 pytest --browser webkit --headed 2.使用 pytest.i ...