发表于 2015-7-9 10:58:02

mongodb sharding 试用(一)

  知识点:mongoDB Sharding 是数据自动分片。数据自动在不同的数据服务器中迁移。迁移触发条件有数据量大小与访问流量。
  1. 建立分片集群分为两个部分:一是启动相应的mongoDB服务,二是决定怎么切分数据。
  2. 一个能够提供服务的分片集群主要由三部分构成:
  (一)配置服务器:就是一个一般的mongoDB服务进程。它负责存储集群的数据与片的对应关系。配置信息落地。
  (二)路由服务器:路由请求与转发结果集。路由服务器知道对应的数据存储在什么位置。它缓存配置服务器的信息但不落地,从配置服务器同步数据。
  (三)数据服务器:真正存储数据的服务进程。它是一般的mongoDB服务进程。
  3. 建立分片集群
  1. 首先启动配置服务进程。因为路由服务器需要从配置服务器同步数据,因此要早路由服务进程启动。
  mongod --dbpath /exports/dbs/config --port 20000
  2. 启动路由服务器,指定对应的配置服务器位置。路由服务进程并不需要指定数据文件目录,它并不存储数据,只是缓存配置服务进程的数据。
  mongos --port 30000 --configdb localhost:20000
  3. 启动数据服务器,这个才是真正存储数据的mongodb进程。(刚开始先使用一个,之后再添加)
  mongod --dbpath /exports/dbs/shard1 --port 27017
  4. 连接路由服务器开启分片。并且需要指定到某个库的某个集合。
  mongo localhost:30000/admin
  db.runCommand({addshard:"localhost:27017",allowLocal:true});
  5. 连接路由服务器,指定需要分片的某个库中的某个集合。并指定分片的健。
  db.runCommand({enablesharding:"foo"});
  db.runCommand({shardcollection:"foo.bar",key:{_id:1}});
页: [1]
查看完整版本: mongodb sharding 试用(一)