mongodb的分片技术 ,是把一个数据库中的数据,分别存储在不同的服务器上,从而减小单个服务器磁盘的压力
下面 以一个图来说明该技术的拓补结构
二.规化
这里我们 用两台机来做 shard 服务器 (分别是:127.0.0.1:27017和127.0.0.1:27018)再用一台来做 configsvr 服务器(127.0.0.1:27020) ,并在其上面开启mongos路由服务
三.实现步骤
1.开启三台服务器( 两台shard,一台configsvr)
>./mongod --dbpath '/home/m17' --logpath '/home/mlog/m17.log' --fork --port 27017 //shard服务器
>./mongod --dbpath '/home/m18' --logpath '/home/mlog/m18.log' --fork --port 27018 //shard服务器
>./mongod --dbpath '/home/m20' --logpath '/home/mlog/m20.log' --fork --prot 27020 --configsvr //最后一个选项是说明这台服务器是用来做configsvr
2.告知路由服务,和configsvr 建立连接(mongos 服务我们这里指定在30000端口上,可以根据需要自已指定)
在 27020 的服务器上开启mongos服务,命令出下
>./mongos --logpath '/home/mlog/m30000.log' --fork --port 30000 --configdb '127.0.0.1:27020' //这里指定了mongos的configsvr服务器的地址
3.让路由器mongos和shard数据库建立连接
mongos> sh.addShard(127.0.0.1:27017) //使路由器和 shard(27017) 建立连接
mongos> sh.addShard(127.0.0.1:27018) ///使路由器和 shard(27018) 建立连接