分片

分片要如下要素:

  1. 要有N(N>2)个mongod服务做片节点

  2. 要有configsvr维护meta信息

  3. 要设定好数据的分片规则(configsvr才能)

  4. 要启动mongos做路由

1. 创建数据文件夹

  mkdir -p /home/m17 /home/m18 /home/20 /home/mlog

2.运行服务 (准备实例)

  ./bin/mongod  --dbpath /home/m17/ --logpath /home/mlog/m17.log  --fork --port 27017  --smallfiles

  ./bin/mongod --dbpath /home/m18/  --logpath /home/mlog/m18.log  --fork --port 27018  --smallfiles

3. 运行配置服务器(准备configsvr)

  .bin/mongod  --help|grep configsvr

  .bin/mongod --dbpath /home/m20 --logpath /home/mlog/m20.log  --fork --port 27020  --configsvr

4. 启动路由器

  .bin/mongos  --logpath /home/mlog/m30.log  --port 30000  --configdb 192.168.1.202:27020      --fork 

5. 链接 configsvr 和 分片的服务(给mongos路由增加服务器/片节点)

  .bin/mongo  --port 3000 0    // 链接30000的mongos 服务路由

  sh.addShard('192.168.1.202:27017');

  sh.addShard('192.168.1.202:27018');

  sh.status()   // 查看状态  

  sh.enableSharding('shop');   // shop 库启动分片

  sh.shardCollection('shop.goods', {goods_id : 1});  // 对shop库下goods进行分片,需要片键,系统会利用field的值来计算该分到哪一个片上

posted @ 2020-04-25 23:26  wxxiong  阅读(129)  评论(0)    收藏  举报