分片集群搭建
搭建配置服务器复制集:
- 早期版本的配置服务器只要一台即可
- 最新版本 MongoDB 要求配置服务器必须是一个复制集
搭建分片服务器复制集:
- 用于保存数据的多台电脑
搭建路由服务器:
- 用于建立配置服务器和分片服务器之间的关系
搭建配置服务器集群
编写配置文件
注意这里是下载了一台全新的 MongoDB 再次进行的搭建的,这里不介绍全新的去哪里下载前面有,然后更改配置文件内容如下:
# 数据保存到哪 storage: dbPath: D:\Web\MongoDB4.X\MongoDBSharding\mongodb-config-27018\data journal: enabled: true # 日志保存到哪 systemLog: destination: file logAppend: true path: D:\Web\MongoDB4.X\MongoDBSharding\mongodb-config-27018\log # 绑定的IP和端口号 net: port: 27018 bindIp: 127.0.0.1 # 复制集名称 replication: replSetName: 'it6666' # 复制集的作用 sharding: clusterRole: configsvr
?> 这里是一个集群的,所以关于其它两台自己分别去更改端口号进行搭建
注册 MongoDB 服务
管理员权限运行终端, 执行如下指令:
mongod --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-config-27018\config\mongo.config --serviceName "MongoDB27018" --serviceDisplayName "MongoDB27018" --install mongod --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-config-27019\config\mongo.config --serviceName "MongoDB27019" --serviceDisplayName "MongoDB27019" --install mongod --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-config-27020\config\mongo.config --serviceName "MongoDB27020" --serviceDisplayName "MongoDB27020" --install
在任务管理器中开启任务:
测试服务可用性
mongo --host 127.0.0.1 --port 27018 mongo --host 127.0.0.1 --port 27019 mongo --host 127.0.0.1 --port 27020
添加复制集
rs.initiate({ _id: 'it6666', configsvr: true, members: [ {_id: 0, host: '127.0.0.1: 27018' }, {_id: 1, host: '127.0.0.1: 27019' }, {_id: 2, host: '127.0.0.1: 27020' } ] })
搭建分片服务器集群
编写配置文件:
# 数据保存到哪 storage: dbPath: D:\Web\MongoDB4.X\MongoDBSharding\mongodb-shard-27023\data journal: enabled: true # 日志保存到哪 systemLog: destination: file logAppend: true path: D:\Web\MongoDB4.X\MongoDBSharding\mongodb-shard-27023\log\mongod.log # 绑定的IP和端口号 net: port: 27023 bindIp: 127.0.0.1 # 复制集名称 replication: replSetName: 'BNTang_It6666' # 复制集的作用 sharding: clusterRole: shardsvr
?> 这里是一个集群的,所以关于其它两台自己分别去更改端口号进行搭建
注册 MongoDB 服务
管理员权限运行终端, 执行如下指令:
mongod --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-shard-27021\config\mongo.config --serviceName "MongoDB27021" --serviceDisplayName "MongoDB27021" --install mongod --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-shard-27022\config\mongo.config --serviceName "MongoDB27022" --serviceDisplayName "MongoDB27022" --install mongod --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-shard-27023\config\mongo.config --serviceName "MongoDB27023" --serviceDisplayName "MongoDB27023" --install
在任务管理器中开启任务:
测试服务可用性
mongo --host 127.0.0.1 --port 27021 mongo --host 127.0.0.1 --port 27022 mongo --host 127.0.0.1 --port 27023
添加复制集
rs.initiate({ _id: 'BNTang_It6666', members: [ {_id: 0, host: '127.0.0.1:27021'}, {_id: 1, host: '127.0.0.1:27022'}, {_id: 2, host: '127.0.0.1:27023'}] })
搭建路由服务器
编写配置文件
# 日志保存到哪 systemLog: destination: file logAppend: true path: D:\Web\MongoDB4.X\MongoDBSharding\mongodb-router-27024\log\mongod.log # 绑定的IP和端口号 net: port: 27024 bindIp: 127.0.0.1 # 配置服务器地址 sharding: configDB: it6666/127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020
注册 MongoDB 服务
管理员权限运行终端, 执行如下指令:
mongos --config D:\Web\MongoDB4.X\MongoDBSharding\mongodb-router-27024\config\mongo.config --serviceName "MongoDB27024" --serviceDisplayName "MongoDB27024" --install
在任务管理器中开启任务:
测试服务可用性
mongo --host 127.0.0.1 --port 27024
添加分片服务器
sh.addShard( "BNTang_It6666/127.0.0.1:27021") sh.addShard( "BNTang_It6666/127.0.0.1:27022") sh.addShard( "BNTang_It6666/127.0.0.1:27023")
给指定数据库开启分片
sh.enableSharding("demo")
指定分片片键
sh.shardCollection("demo.user",{'age':1})
sh.shardCollection("demo.user",{'name':hashed})