由于周末在家手头没有虚拟机,所以在windows下单机完毕部署要求,并编写bat执行脚本。
1、创建配置文件及相关文件夹
总的启动脚本例如以下(startmc.bat):
rem m1

start mongod.exe --config=../config/m1/s1_1

start mongod.exe --config=../config/m1/s1_2

start mongod.exe --config=../config/m1/c1_1

start mongod.exe --config=../config/m1/a1_1

start mongod.exe --config=../config/m1/a1_2



rem m2

start mongod.exe --config=../config/m2/s2_1

start mongod.exe --config=../config/m2/s2_2

start mongod.exe --config=../config/m2/c2_1

start mongod.exe --config=../config/m2/a2_1

start mongod.exe --config=../config/m2/a2_2



rem m3

start mongod.exe --config=../config/m3/s3_1

start mongod.exe --config=../config/m3/s3_2

start mongod.exe --config=../config/m3/c3_1

start mongod.exe --config=../config/m3/a3_1

start mongod.exe --config=../config/m3/a3_2





start mongos.exe --config=../config/m1/s1

start mongos.exe --config=../config/m2/s2

start mongos.exe --config=../config/m3/s3
2、配置文件
配置文件分别分为几个集群目录,分别为m1、m2、m3
每一个目录下分别包括了两个分片(s*_1,s*_2)、一个config(c*_1)、一个mongos(s*)、两个仲裁节点(a*_1,a*_2)(以m1为例,其它两个目录相应log及db文件不一样,port号分别加1000):
a1_1(注意Windows下没有fork。所以在bat中使用start建立不同进程):
dbpath=../data/db/a1_1

logpath=../data/a1_1.log

port=8451

shardsvr=true

replSet=shard1

logappend=true

oplogSize=2048

storageEngine=wiredTiger

nojournal=true
a1_2:
dbpath=../data/db/a1_2

logpath=../data/a1_2.log

port=8452

shardsvr=true

replSet=shard2

logappend=true

oplogSize=2048

storageEngine=wiredTiger

nojournal=true
c1_1:

dbpath=../data/db/c1_1

logpath=../data/c1_1.log

port=8441

configsvr=true

logappend=true

oplogSize=2048

storageEngine=wiredTiger

nojournal=true
s1:
logpath=../data/s1.log

port=8440

chunkSize=100

logappend=true

configdb=localhost:8441,localhost:8541,localhost:8641

s1_1:
dbpath=../data/db/s1_1

logpath=../data/s1_1.log

port=8442

shardsvr=true

replSet=shard1

logappend=true

oplogSize=2048

storageEngine=wiredTiger

nojournal=true

s1_2:
dbpath=../data/db/s1_2

logpath=../data/s1_2.log

port=8443

shardsvr=true

replSet=shard2

logappend=true

oplogSize=2048

storageEngine=wiredTiger

nojournal=true


3、进行分片对应设置
use admin
config = {_id: 'shard1', members:[{_id:0,
host: 'localhost:8442'},{_id:1, host:'localhost:8542'},{_id:2,
host:'localhost:8642',slaveDelay:7200,priority:0},{_id:3,
host:'localhost:8451',arbiterOnly:true},{_id:4,
host:'localhost:8551',arbiterOnly:true},{_id:5,
host:'localhost:8651',arbiterOnly:true}]};
rs.initiate(config);
config = {_id: 'shard2', members:[{_id:0,
host: 'localhost:8443'},{_id:1, host:'localhost:8543'},{_id:2,
host:'localhost:8643',slaveDelay:7200,priority:0},{_id:3,
host:'localhost:8452',arbiterOnly:true},{_id:4,
host:'localhost:8552',arbiterOnly:true},{_id:5,
host:'localhost:8652',arbiterOnly:true}]};
rs.initiate(config);

use admin
db.runCommand( { addshard:"shard1/localhost:8442,localhost:8542",name:"s1"}
);
db.runCommand( { addshard:"shard2/localhost:8443,localhost:8543",name:"s2"}
);
db.runCommand( { listshards : 1 } )
3、文件夹结构及执行情况
配置文件文件夹(m1为例):

文件记录log

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

db目录

执行程序(15+3个进程)

分片情况:

一键部署MongoDB集群Windows版的更多相关文章

  1. 在Docker中安装和部署MongoDB集群

    此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...

  2. centos7下安装部署mongodb集群(副本集模式)

    环境需求:Mongodb集群有三种模式:  Replica Set, Sharding,Master-Slaver.  这里部署的是Replica Set模式. 测试环境: 这里副本集(Replica ...

  3. 在CentOS6.6上以replSet方式部署MongoDB集群

    此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 部署方式在3台centos6.6系统上以Replica Set方式部署mongodb3.0.2集群. 官方参考 ...

  4. 一键部署ETCD集群脚本

    这里使用三个节点,系统版本为CentOS7 # vim deploy-etcd.sh #!/bin/bash set -x set -e #更改这里的IP, 只支持部署3个节点etcd集群 decla ...

  5. 一键部署etcd集群

    这里使用三个节点,系统版本为CentOS7 # vim deploy-etcd.sh #!/bin/bash set -x set -e #更改这里的IP, 只支持部署3个节点etcd集群 decla ...

  6. 【k8s】使用Terraform一键部署EKS集群

    本文适用范文 使用AWS海外账号 对aws.terraform.k8s有一定的了解 新建一个独立的VPC Terraform简介 terraform是一个云端的资源编排工具,官方对自己的定位:Terr ...

  7. shell脚本一键安装redis集群[最终版]

    直接上shell了. #!/bin/bash #---------------------------------------------------------------------------- ...

  8. CentOS6.8部署MongoDB集群及支持auth认证

    三个节点的副本集如下图所示: 实验目的: 配置MongoDB的3节点副本集 3个节点的副本集都要开启auth认证,并且开启认证后,能互相通信 第一步 - 准备环境 准备三个虚拟机,其中一个用作Prim ...

  9. 一键部署etcd集群管理脚本

    一.编写脚本 1 #!/bin/sh 2 # 安装 3 # ./run.sh etcd03 etcd01=http://192.168.2.44:2380,etcd02=http://192.168. ...

随机推荐

  1. 清除sqlserver日志方法(不适合always on)

    清除sqlserver日志方法 --查看数据库的recovery_model_desc类型 SELECT NAME, recovery_model_desc FROM sys.databases -- ...

  2. thinkphp中获取参数值的方法

    以获取$type这个参数为例:一:通过传统方法:$_GET, $_POST    $type = intval($_GET['type'])这种方法需要自己写过滤规则,保证数据安全. 二:在Actio ...

  3. Spring cloud子项目

    目前来说spring主要集中于spring boot(用于开发微服务)和spring cloud相关框架的开发,我们从几张图着手理解,然后再具体介绍: spring cloud子项目包括: Sprin ...

  4. WPF绑定时要绑定属性,不要绑定字段

    如题(就是加get;set;),绑定属性不出东西,不知道为什么...

  5. httpwebrequest异步参考

    http://www.cnblogs.com/SanMaoSpace/archive/2011/07/27/2118133.html http://www.cnblogs.com/qianlifeng ...

  6. 【Android】8.4 让主题自适应不同的Android版本

    分类:C#.Android.VS2015: 创建日期:2016-02-17 一.简介 默认情况下,高版本提供的主题不能在低版本的Android系统上运行.但是,通过自定义主题,可以让你的系统自适应各自 ...

  7. C中的空宏定义,即只有一个参数

    空宏定义的测试代码 #include <stdio.h> #define D(x) int main() { D(printf("null macro")); retu ...

  8. tornado日志使用详解

    1.需求 将http访问记录,程序自定义日志输出到文件,按天分割,保留最近30天的日志. 2.使用示例 init_logging("%s/QYK.%s.%s.log" % (log ...

  9. 每日英语:China Poses Challenge for Coal

    China's appetite for coal, once seemingly unlimited, is starting to wane, and the effects are rippli ...

  10. nonatomic对引用计数的影响(非ARC)

    @interfaceAppDelegate() { NSObject * obj_; } @property(retain) NSObject * obj;// 默认是atomic //@proper ...