MongoDB集群分片部署指南
| 角色 | 服务器1 | 服务器2 | 服务器3 |
|
| 路由服务器Mongos | 10.0.0.201:30000 | 10.0.0.202:30000 | 10.0.0.203:30000 |
|
| 配置服务器Mongod | 10.0.0.201:20000 | 10.0.0.202:20000 | 10.0.0.203:20000 |
|
| Shard1, Replica Sets | 10.0.0.201:27017 | 10.0.0.202: 27017 | 10.0.0.203: 27017 |
|
| Shard2, Replica Sets | 10.0.0.201:27018 | 10.0.0.202: 27018 | 10.0.0.203: 27018 |
|
下载软件包
curl -Ohttp://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz
解压缩
/usr/local/mongodb
201操作
mkdir –p ./data/shard1_1
mkdir –p ./data/shard2_1
mkdir –p ./data/config
202操作
mkdir –p ./data/shard1_2
mkdir –p ./data/shard2_2
mkdir –p ./data/config
203操作
mkdir –p ./data/shard1_3
mkdir –p ./data/shard2_3
mkdir –p ./data/config
配置分片1的复本集
201
bin/mongod--shardsvr --replSet shard1 --port 27017 --dbpath ./data/shard1_1 --logpath ./data/shard1_1/shard1.log --logappend --fork
202
bin/mongod--shardsvr --replSet shard1 --port 27017 --dbpath ./data/shard1_2 --logpath ./data/shard1_2/shard1.log --logappend --fork
203
bin/mongod--shardsvr --replSet shard1 --port 27017 --dbpath ./data/shard1_3 --logpath ./data/shard1_3/shard1.log --logappend --fork
config = {_id:'shard1', members:[ {_id:0,host:'10.0.0.201:27017'},{_id:1, host:'10.0.0.202:27017'}, {_id:2,host:'10.0.0.203:27017'}]}
rs.initiate(config)
配置分片2的复本集
201
bin/mongod--shardsvr --replSet shard2 --port 27018 --dbpath ./data/shard2_1 --logpath ./data/shard2_1/shard2.log --logappend --fork
202
bin/mongod--shardsvr --replSet shard2 --port 27018 --dbpath ./data/shard2_2 --logpath ./data/shard2_2/shard2.log --logappend --fork
203
bin/mongod--shardsvr --replSet shard2 --port 27018 --dbpath ./data/shard2_3 --logpath ./data/shard2_3/shard2.log --logappend --fork
config = {_id:'shard2', members:[ {_id:0,host:'10.0.0.201:27018'},{_id:1, host:'10.0.0.202:27018'}, {_id:2, host:'10.0.0.203:27018'}]}
rs.initiate(config)
配置Config服务器
在3台服务器运行以下命令
bin/mongod--configsvr --dbpath ./data/config --port 20000 --logpath ./data/config/config.log--logappend --fork
配置路由服务器
在3台服务器运行以下命令
bin/mongos--configdb 10.0.0.201:20000,10.0.0.202:20000,10.0.0.203:20000 --port 30000--chunkSize 1--logpath ./data/mongos.log --logappend --fork
配置分片
bin/mongo --port 30000
use admin
db.runCommand({addshard:"shard1/10.0.0.201:27017,10.0.0.202:27017,10.0.0.203:27017"});
db.runCommand({addshard:"shard2/10.0.0.201:27018,10.0.0.202:27018,10.0.0.203:27018"});
激活test库上的分片功能
db.runCommand({enablesharding:"test"});
激活users表的分片功能
db.runCommand({shardcollection:"test.users",key:{_id:1}});
测试分片
bin/mongo –port 30000
use test
停止mongos, mongo config, mongod
use admin
db.shutdownServer()
总结
以上是生活随笔为你收集整理的MongoDB集群分片部署指南的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Dockerd docker-conta
- 下一篇: maven使用OracleDB jdbc