1.先停掉本地mongodb 服务
2.规划 mongodb两个分片:shard-a shard-b、每个分片两个副本(三份数据)shard-a:rs-a-1、rs-a-2、rs-a-3,shard-b:rs-b-1、rs-b-2、rs-b-3
3.新建7个文件夹rs-a-1、rs-a-2、rs-a-3、rs-b-1、rs-b-2、rs-b-3、log,分别存放7个(2*3+1)副本的数据以及产生的日志
4.执行cmd命令初始化mongodb实例
mongod --shardsvr --dbpath "D:\cluster\rs-a-1" --logpath "D:\cluster\log\rs-a-1.log" --port 30000 --replSet shard-a
执行剩余5个(之前打开的不可关闭) 修改对应的dbpath和日志文件 指定端口 30001 30002 30100 30101 30102 后三个修改replSet为shard-b
5.打开新的cmd 连接端口为30000的mongoShell 命令:mongo --port 30000
执行命令,副本初始化:rs.initiate() ok:1为成功 0为失败
执行命令,添加副本集成员rs-a-2(30001):rs.add("localhost:30001")
执行命令,添加副本集成员rs-a-3(30002):rs.add("localhost:30002")
查看副本集状态 rs.status() members显示有三个成员,shard-a配置成功,shard-b同理 ctrl+c退出,连接端口30100: mongo --port 30100
6.shard-b配置完毕后,新建三个文件夹 config-1,config-2,config-3
配置启动服务器1:(三个服务器作为一个集群)
mongod --configsvr --dbpath "D:\cluster\config-1" --logpath "D:\cluster\log\config-1.log" --port 27019 --replSet config
之后两个同理改一下两个路径 分别对应端口 27020 27021
7.将三个服务添加为一个集群 步骤参考第五步 分别对应修改三个端口即可
8.配置代理服务器(配置日志路径和集群对外开放的端口)
mongos --configdb config/localhost:27019,localhost:27020,localhost:27021 --logpath "D:\cluster\log\mongos.log" --port 40001
9.打开新的命令行 连接40001 : mongo --port 40001
添加分片1:sh.addShard("shard-a/localhost:30000,localhost:30001,localhost:30101")
添加分片2:sh.addShard("shard-b/localhost:30100,localhost:30101,localhost:30102")
10.至此,搭建完毕 查看集群状态 sh.status()。