MongoDB4.0 WINDOWS环境下 副本集、分片部署

部署开始:

创建路径 D:\Program Files\MongoDB\MySet下

config Data log 文件夹

config文件夹下准备配置文件:

分片1的副本集1

storage:
  dbPath: D:/Program Files/MongoDB/MySet/Data/shard11
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path: D:/Program Files/MongoDB/MySet/log/shard11.log
net:
  port: 13211
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: shard1

sharding:
  clusterRole: shardsvr

分片1的副本集2

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\shard12
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\shard12.log
net:
  port: 13212
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: shard1

sharding:
  clusterRole: shardsvr

分片1的副本集3

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\shard13
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\shard13.log
net:
  port: 13213
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: shard1

sharding:
  clusterRole: shardsvr

分片2的副本集1

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\shard21
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\shard21.log
net:
  port: 13221
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: shard2

sharding:
  clusterRole: shardsvr

分片2的副本集2

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\shard22
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\shard22.log
net:
  port: 13222
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: shard2

sharding:
  clusterRole: shardsvr

分片2的副本集3

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\shard23
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\shard23.log
net:
  port: 13223
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: shard2

sharding:
  clusterRole: shardsvr

配置节点1

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\config1
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\config1.log
net:
  port: 13201
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: rscfg

sharding:
  clusterRole: configsvr

配置节点2

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\config2
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\config2.log
net:
  port: 13202
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: rscfg

sharding:
  clusterRole: configsvr

配置节点3

storage:
  dbPath: D:\Program Files\MongoDB\MySet\Data\config3
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\config3.log
net:
  port: 13203
  bindIp: 192.168.33.52

replication:
  oplogSizeMB: 10240
  replSetName: rscfg

sharding:
  clusterRole: configsvr

路由节点

systemLog:
  destination: file
  logAppend: true
  path:  D:\Program Files\MongoDB\MySet\log\route.log
net:
  port: 13200
  bindIp: 192.168.33.52

sharding:
  configDB: rscfg/192.168.33.52:13201,192.168.33.52:13202,192.168.33.52:13203

配置文件准备完成,打开一个cmd窗口

切换到mongo的bin路径

cd /d D://

cd D:\Program Files\MongoDB\Server\4.0\bin

找到配置文件地址进行服务的安装,服务名和服务展示名都需要加上,不然会提示服务名已存在,分片11,12,13,21,22,23,配置1,2,3 这9个节点都是由mongod进程寄宿,路由节点由mongos进程寄宿

mongod -config "D:\Program Files\MongoDB\MySet\config\shard11.cfg" --serviceName "MongoDB_Shard11" --install --serviceDisplayName "MongoDB_Shard11"
mongod -config "D:\Program Files\MongoDB\MySet\config\shard12.cfg" --serviceName "MongoDB_Shard12" --install --serviceDisplayName "MongoDB_Shard12"
mongod -config "D:\Program Files\MongoDB\MySet\config\shard13.cfg" --serviceName "MongoDB_Shard13" --install --serviceDisplayName "MongoDB_Shard13"

mongod -config "D:\Program Files\MongoDB\MySet\config\shard21.cfg" --serviceName "MongoDB_Shard21" --install --serviceDisplayName "MongoDB_Shard21"
mongod -config "D:\Program Files\MongoDB\MySet\config\shard22.cfg" --serviceName "MongoDB_Shard22" --install --serviceDisplayName "MongoDB_Shard22"
mongod -config "D:\Program Files\MongoDB\MySet\config\shard23.cfg" --serviceName "MongoDB_Shard23" --install --serviceDisplayName "MongoDB_Shard23"

mongod -config "D:\Program Files\MongoDB\MySet\config\config1.cfg" --serviceName "MongoDB_Config1" --install --serviceDisplayName "MongoDB_Config1"
mongod -config "D:\Program Files\MongoDB\MySet\config\config2.cfg" --serviceName "MongoDB_Config2" --install --serviceDisplayName "MongoDB_Config2"
mongod -config "D:\Program Files\MongoDB\MySet\config\config3.cfg" --serviceName "MongoDB_Config3" --install --serviceDisplayName "MongoDB_Config3"

mongos -config "D:\Program Files\MongoDB\MySet\config\route.cfg" --serviceName "MongoDB_Route" --install --serviceDisplayName "MongoDB_Route"

所有节点都安装完成后,找到log文件夹下的log文件,如果出现提示,当前可以使用命令行“XXXXX”启动服务,那就成功安装服务了

开启服务,shard1分片的副本集群

net start MongoDB_Shard11
net start MongoDB_Shard12
net start MongoDB_Shard13

开起之后需要进行初始化以及副本集设置

cd /d D://
cd D:\Program Files\MongoDB\Server\4.0\bin

连接到副本集的任意一个节点
mongo 192.168.33.52:13211

初始化副本集
rs.initiate( {_id : "shard1",members: [{ _id: 0, host: "192.168.33.52:13211" },{ _id: 1, host: "192.168.33.52:13212" },{ _id: 2, host: "192.168.33.52:13213" }]})

查看副本集初始化状态

rs.conf()

查看副本集是否是主节点
db.isMaster()

退出当前查询窗口
exit

shard2副本集相关设置,同上

net start MongoDB_Shard21
net start MongoDB_Shard22
net start MongoDB_Shard23

cd /d D://
cd D:\Program Files\MongoDB\Server\4.0\bin
mongo 192.168.33.52:13221
rs.initiate( {_id : "shard2",members: [{ _id: 0, host: "192.168.33.52:13221" },{ _id: 1, host: "192.168.33.52:13222" },{ _id: 2, host: "192.168.33.52:13223" }]})

rs.conf()
db.isMaster()
exit

配置节点副本集相关设置(新版本的配置节点不能使用mirro模式,需要也形成副本集才能由路由节点调用),同上

net start MongoDB_Config1
net start MongoDB_Config2
net start MongoDB_Config3

cd /d D://
cd D:\Program Files\MongoDB\Server\4.0\bin
mongo 192.168.33.52:13201
rs.initiate( {_id : "rscfg",members: [{ _id: 0, host: "192.168.33.52:13201" },{ _id: 1, host: "192.168.33.52:13202" },{ _id: 2, host: "192.168.33.52:13203" }]})

rs.conf()
db.isMaster()
exit

开启路由节点的服务

net start MongoDB_Route

cd /d D://
cd D:\Program Files\MongoDB\Server\4.0\bin

连接路由节点
mongo 192.168.33.52:13200

配置分片shard1,shard2

use admin
db.runCommand({addshard:"shard1/192.168.33.52:13211,192.168.33.52:13212,192.168.33.52:13213"})
db.runCommand({addshard:"shard2/192.168.33.52:13221,192.168.33.52:13222,192.168.33.52:13223"})

查看一下分片列表,确认分片是否配置成功

db.runCommand({ listshards:1 })

对Monitor库启用分片
db.runCommand({enablesharding:"Monitor"})

对多张表设置片键,片键设置模式为 第一个字段为大粒度的局部字段比如类型、月份,第二个字段为常查询字段,粒度细,能够增加随机度

这里设置的前提为未创建表,设置片键后会自动创建索引,已有表,字段又无索引的会提示错误

db.runCommand( { shardcollection : "Monitor.LoadTable",key : {server_type: 1,time:1}} )
db.runCommand( { shardcollection : "Monitor.LogInfo",key : {server_type: 1,time:1}} )
db.runCommand( { shardcollection : "Monitor.LogError",key : {server_type: 1,time:1}} )
db.runCommand( { shardcollection : "Monitor.RequestLog",key : {server_type: 1,time:1}} )

到此为止配置完成,可连接路由节点使用,未测试failover是否生效

删除服务的语句,预留以防需要重新部署

sc delete MongoDB_Shard11
sc delete MongoDB_Shard12
sc delete MongoDB_Shard13

sc delete MongoDB_Shard21
sc delete MongoDB_Shard22
sc delete MongoDB_Shard23

sc delete MongoDB_Config1
sc delete MongoDB_Config2
sc delete MongoDB_Config3

sc delete MongoDB_Route

停止服务的语句,预留以防需要重新部署

net stop MongoDB_Shard11
net stop MongoDB_Shard12
net stop MongoDB_Shard13

net stop MongoDB_Shard21
net stop MongoDB_Shard22
net stop MongoDB_Shard23

net stop MongoDB_Config1
net stop MongoDB_Config2
net stop MongoDB_Config3

net stop MongoDB_Route

原文地址:https://www.cnblogs.com/zwz418/p/10688539.html

时间: 2024-10-10 00:00:42

MongoDB4.0 WINDOWS环境下 副本集、分片部署的相关文章

Windows环境下 RabbitMQ集群配置

一.在集群机器上安装erlang环境.安装rabbitmq; 二. 假设,192.168.10.111的节点名称为 [email protected],192.168.10.112的节点名称为 [email protected] 1.分别在两台机器的rabbitmq数据.日志文件所在路径下(本文为C:\Users\Administrator\AppData\Roaming\RabbitMQ),创建集群配置文件rabbitmq.config. rabbitmq.config是一个标准的erlang

Centos6.6搭建mongodb3.2.6副本集分片

1.环境准备centos6.6 x64 3台192.168.0.23192.168.0.24192.168.0.201 2.集群规划每个机器同时启动mongos.config server .shard0.shard2.shard3,config server得ip端口分别为:192.168.0.23:1111,192.168.0.24:1111,192.168.0.201:1111mongos得ip端口分别为:192.168.0.23:2222,192.168.0.24:2222,192.16

windows环境下10.2.0.1到11gr2 迁移升级

windows 环境下 10g 数据库到11g 数据库迁移 一.10g 环境做好迁移准备 在数据库中创建test表,并插入一条数据以便确认迁移是否成功 SQL> create table test(id number,name varchar(20)); SQL> insert into test(id,name) values(1,'test' 由于10.2.0.1版本不能直接升级到11gr2,所以需要先将源数据库升级为10.2.0.2 登陆rman C:\Documentsand Sett

Windows环境下Android Studio v1.0安装教程

Windows环境下Android Studio v1.0安装教程 Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SDK) (813 MB) exe(不包含SDK) (250 MB) zip (235 MB) Mac dmg (234 MB) zip (233 MB) Linux: zip (233 MB) 说明: 32位系统和64位系统是同一个安

【转】Windows环境下Android Studio v1.0安装教程

原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/158-androidstudio-v1-0-win-install Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包.要求:JDK 7以及以上版本. Android Studio安装文件. Windows:exe(包含SDK) (813 MB)exe(不包含

Windows环境下搭建rabbitmq集群与负载

欢迎提出意见及建议,发现错误请留言 需要的文件下载: 百度云:链接:https://pan.baidu.com/s/1gpZa2NjNxviEnihjS2Viuw  提取码:39hi  复制这段内容后打开百度网盘手机App,操作更方便哦 蓝奏云:下载:https://www.lanzous.com/i54x5da 密码:cgb9 参考博文: https://blog.csdn.net/elie_yang/article/details/86657851 https://blog.csdn.net

windows环境下solrcloud的配置安装(单机模拟多服务器)

本文是在单机环境下模拟集群环境,进行solrcloud的配置安装. ------------------------------------------- 所用环境及软件: ------------------------------------------ 1. Windows 7 64bit: 2. Jdk v1.7 3. Tomcat v7.0.20 下载地址: http://tomcat.apache.org/ 4. Zookeepr v3.4.6 下载地址: http://zookee

Windows环境下搭建Redis

当网站从数据库加载大量数据的时候会遇到页面响应速度特别缓慢的情形,为了能够更快的从数据库中取得数据加载至内存中,可以考虑使用Memcached来做数据缓存,或者使用内存数据库(比如Redis)将数据库的内容加载至内存中以键值对的形式存储,当页面请求数据的时候可以直接从内存数据库中获取,从而提高了网站的响应速度. Redis在官方文档中声明推荐在Linux环境下安装部署,但实际情况下会有很多开发者需要在Windows环境下解决以上类似的问题并想要采取Redis方案来解决问题,好在微软开放了这方面的

Mongodb 副本集+分片集群搭建

环境需求: 在三台机器上搭建副本集,在副本集上做分片 服务器IP: 192.168.1.232/192.168.1.238/192.168.1.241 安装Mongodb all nodes: tar zxvf mongodb-linux-x86_64-rhel62-3.4.4.tgz cp -rvf  mongodb-linux-x86_64-rhel62-3.4.4  /opt/mongodb_3.4.4 cd /opt/mongodb_3.4.4/ mkdir -pv conf logs