mongo分片搭建Sharding
mongo分片搭建,主要是考虑存储系统伸缩性,直接使用分片,4台服务器每台256G ,那就可以存储1T数据了。
1个配置服务
1个路由服务
3个分片服务
总共5个mongo服务器组成的集群,具体实践如下:
1个配置服务
./bin/mongod --dbpath data/config/ --logpath log/config.log --logappend --fork --port 10000
1个路由服务
./bin/mongos --port 20000 --configdb 192.168.1.1:10000 --logpath log/mongos.log --logappend --fork
3个分片服务
./bin/mongod --dbpath data/shard10001 --logpath log/shard10001.log --logappend --fork --port 10001 ./bin/mongod --dbpath data/shard10002 --logpath log/shard10002.log --logappend --fork --port 10002 ./bin/mongod --dbpath data/shard10003 --logpath log/shard10003.log --logappend --fork --port 10003
连接到路由服务,mongos并切换到admin这里必须连接路由节点:
添加分片
db.runCommand({"addShard":"192.168.1.1:10001"}) db.runCommand({"addShard":"192.168.1.1:10002"}) db.runCommand({"addShard":"192.168.1.1:10003"})
查看分片:
db.runCommand({listshards:1})
激活分片
加上分片后,需要指定哪个数据库使用分片机制,如为test数据使用分片
db.runCommand({"enablesharding":"test"})
表分片:要使单个collection也分片存储,需要给collection指定一个分片key,通过以下命令操作:
db.runCommand({"shardcollection":"test.user","key":{"_id":1}})
完成数据mongo分片的搭建了。