Mongodb配置分片服务器

mongodb的sharding集群由以下3个服务组成:

Shards  Server: 每个shard由一个或多个mongod进程组成,用于存储数据

Config  Server: 用于存储集群的Metadata信息,包括每个Shard的信息和chunks信息

Route   Server: 用于提供路由服务,由Client连接,使整个Cluster看起来像单个DB服务器

另外,Chunks是指MongoDB中一段连续的数据块,默认大小是200M,一个Chunk位于其中一台Shard服务器上

下面,搭建一个Cluster,它由4台服务器组成,包括3个Shard,3个Config,1个Route

 配置config
 /usr/local/mongodb/bin/mongod  --configsvr --dbpath /usr/local/mongodb/config1 --port 28001  --logpath=/usr/local/mongodb/config1/config.log --replSet configs &

 /usr/local/mongodb/bin/mongod  --configsvr --dbpath /usr/local/mongodb/config2 --port 28002  --logpath=/usr/local/mongodb/config2/config.log --replSet configs &

 /usr/local/mongodb/bin/mongod  --configsvr --dbpath /usr/local/mongodb/config3 --port 28003  --logpath=/usr/local/mongodb/config3/config.log --replSet configs &

rs.initiate({
  _id:"configs", // replSet指定的名称
  members:[{
    _id:0,
    host:"127.0.0.1:28001" // 主节点ip与端口
  }]
})

rs.add("127.0.0.1:28002");
rs.add("127.0.0.1:28003");

配置路由设置
 /usr/local/mongodb/bin/mongos --port 40000 --configdb="configs/127.0.0.1:28001,127.0.0.1:28002,127.0.0.1:28003" --logpath /usr/local/mongodb/mongos/mongos.log

 配置sharding 节点
  /usr/local/mongodb/bin/mongod -shardsvr -dbpath=/usr/local/mongodb/c1 -port 29017 -logpath=/usr/local/mongodb/c1/29017.log &
  /usr/local/mongodb/bin/mongod -shardsvr -dbpath=/usr/local/mongodb/c2 -port 29018 -logpath=/usr/local/mongodb/c2/29018.log &
  /usr/local/mongodb/bin/mongod -shardsvr -dbpath=/usr/local/mongodb/c3 -port 29019 -logpath=/usr/local/mongodb/c3/29019.log &

 路由配置
 /usr/local/mongodb/bin/mongo --port 40000 
切换到 admin : use admin
  db.runCommand({ addshard:"127.0.0.1:29017" })
  db.runCommand({ addshard:"127.0.0.1:29018" })
  db.runCommand({ addshard:"127.0.0.1:29019" })
  
  
  db.runCommand({"enablesharding": "test"})

对chunk的移动
 db.adminCommand({moveChunk : "test.yhl", find : {id:{$gt:2}}, to : "shard0002"});

你可能感兴趣的:(mongodb,数据库,服务器)