【MongoDB】Re05 分片集群(Win平台搭建)
分片副本集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平台搭建)的更多相关文章
- 【MongoDB】在windows平台下mongodb的分片集群(五)
本篇接着上面的四篇继续讲述在window平台下mongodb的分片集群搭建. 在分片集群中也照样能够创建索引,创建索引的方式与在单独数据库中创建索引的方式一样.因此这不再多说.本篇主要聚焦在分片键的选 ...
- MongoDB之分片集群(Sharding)
MongoDB之分片集群(Sharding) 一.基本概念 分片(sharding)是一个通过多台机器分配数据的方法.MongoDB使用分片支持大数据集和高吞吐量的操作.大数据集和高吞吐量的数据库系统 ...
- 【MongoDB】在windows平台下搭建mongodb的分片集群(二)
在上一片博客中我们讲了Mongodb数据库中分片集群的主要原理. 在本篇博客中我们主要讲描写叙述分片集群的搭建过程.配置分片集群主要有两个步骤.第一启动全部须要的mongod和mongos进程. 第二 ...
- MongoDB分片集群原理、搭建及测试详解
随着技术的发展,目前数据库系统对于海量数据的存储和高效访问海量数据要求越来越高,MongoDB分片机制就是为了解决海量数据的存储和高效海量数据访问而生. MongoDB分片集群由mongos路由进程( ...
- MongoDB之分片集群与复制集
分片集群 1.1.概念 分片集群是将数据存储在多台机器上的操作,主要由查询路由mongos.分片.配置服务器组成. ●查询路由根据配置服务器上的元数据将请求分发到相应的分片上,本身不存储集群的元数据, ...
- MongoDB笔记: 分片集群
MongoDB分片集群由三个模块组成 shard: 分片(或者分区)模块, 每个分片分别存储一部分数据, 从MongoDB 3.6开始, 分片必须是replica set(副本集) mongos: m ...
- 【MongoDB】在windows平台下mongodb的分片集群(六)
在本篇博客中我们主要讨论下博客的管理.因为已经在前面五篇中写了具体的实例,因此这里就不再举例说明. 一.监控 分片集群是整个体系中比較复杂的一块,因此更应该须要监控. 主要命令: serverstat ...
- MySQL集群---②Windows平台搭建MySQL CLUSTER集群
原文:http://blog.csdn.net/mazhaojuan/article/details/42211857 本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. My ...
- Elasticsearch 分片集群原理、搭建、与SpringBoot整合
单机es可以用,没毛病,但是有一点我们需要去注意,就是高可用是需要关注的,一般我们可以把es搭建成集群,2台以上就能成为es集群了.集群不仅可以实现高可用,也能实现海量数据存储的横向扩展. 新的阅读体 ...
- MongoDB的分片集群搭建
MongoDB的最为自豪的一个特色之一,分片. 参考官方文档: https://docs.mongodb.com/manual/sharding/ 单机压力,高频查询CPU,IO 单表压力,百万千万 ...
随机推荐
- 搭建k8s集群完整版本
搭建k8s集群完整版 基础设置 设置主机ip nmcli con add ifname ens33 con-name ens33 autoconnect yes type ethernet nmcli ...
- 箭头函数中的this指向
// 箭头函数中的this指向 // 如果是箭头函数,this指向是,父级程序的,this的指向 // 如果父级程序是一个函数,函数也是有t ...
- 【INFINI Workshop 深圳站】8 月 31 日一起动手实验玩转 Easysearch
8 月 31 日下午 和 INFINI Labs 的技术专家面对面,第一时间了解极限实验室的发布最新产品和功能特性,通过动手实战,快速掌握最前沿的搜索技术,并用于实际项目中.欢迎大家免费报名参加. 活 ...
- PowerShell 遇到 .ps1,因为在此系统上禁止运行脚本
PowerShell 遇到 .ps1,因为在此系统上禁止运行脚本 解决方法: 以管理员身份打开PowerShell: 查看当前的执行策略: Get-ExecutionPolicy * `Restric ...
- OceanBase 金融项目优化案例
领导让我帮忙支持下其他项目的SQL优化工作,呦西,是收集案例的好时机. 下面SQL都是在不能远程的情况下,按照原SQL的逻辑等价改写完成否发给现场同事验证. 案例一 慢SQL,4.32秒: SELEC ...
- java datetime数据类型去掉时分秒
在Java中,如果我们想要表示一个日期而不包括时间(时分秒),我们通常会使用java.time包中的LocalDate类.LocalDate是一个不可变的日期对象,它只包含年.月.日三个字段. 1. ...
- 降维(二)PCA
PCA 主成成分分析(Principal Component Analysis,PCA)在目前是非常热门的降维算法.首先它找到一个最接近数据的超平面,然后将数据投影到这个平面上. 保持方差(Prese ...
- 背包DP——多重背包
多重背包也是 0-1 背包的一个变式.与 0-1 背包的区别在于每种物品有 k 个,而非一个. 朴素 直接把相同的每个物品视作各个单独的物品,没有关联,仅条件相同: 转换后直接用01背包的状态转移方程 ...
- 3568F-Linux-RT系统测试手册
- PromQL全方位解读:监控与性能分析的关键技术
本文全面探索PromQL,从基础语法到高级操作,详细介绍了数据聚合.时间序列分析及内置函数应用,旨在提升用户构建复杂监控策略和性能分析的能力. 关注[TechLeadCloud],分享互联网架构.云服 ...