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
- 下一篇: c# async/await编程