Mongodb分片集群规划及部署

  一、测试环境

环境centos 5.5 x86_64

Mongodb分片集群规划及部署_第1张图片

 mongodb分片集群规划如下:

一、在服务器上启用mongos192.168.3.242),由于测试环境,不做高负载及高可用

二、选取三台做为config server

三、在六台上都启用分片及仲裁三台服务器做一组shard server集群

具体操作如下 :

1、在192.168.3.243192.168.3.244192.168.3.245上启动三个分片集,分别为boy1,boy2,boy3。在boy1集群里192.168.3.243为主存储,192.168.3.244为数据备份,192.168.3.245作为仲裁,在boy2集群里192.168.3.244为主存储,192.168.3.245为数据备份,192.168.3.243作为仲裁,在boy3集群里192.168.3.245为主存储,192.168.3.243为数据备份,192.168.3.244作为仲裁。

2、同理在192.168.3.246192.168.3.248192.168.3.249再启动多三个分片集,对数据集进行拆分。

mongodb分片集群配置如下:

数据存储到/var/data目录下。 

mongos配置(192.168.3.242)--启用config server才启用

/home/mongodb-linux-x86_64-1.8.4/bin/mongos  --configdb 192.168.3.243:20000,192.168.3.244:20000,192.168.3.245:20000 --port 30000 --logpath=/var/data/mongos.log --logappend --fork

 

shard 配置——(192.168.3.243

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy1 --logpath=/var/data/boy1.log --port 27017 --shardsvr --replSet boy1 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy2 --logpath=/var/data/boy2.log --port 27018 --shardsvr --replSet boy2 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy3 --logpath=/var/data/boy3.log --port 27019 --shardsvr --replSet boy3 --fork --logappend

config配置(192.168.3.243

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --configsvr --dbpath=/var/data/config --port 20000 --logpath=/var/data/config.log --logappend --fork

shard 配置——(192.168.3.244

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy1 --logpath=/var/data/boy1.log --port 27017 --shardsvr --replSet boy1 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy2 --logpath=/var/data/boy2.log --port 27018 --shardsvr --replSet boy2 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy3 --logpath=/var/data/boy3.log --port 27019 --shardsvr --replSet boy3 --fork --logappend

config配置(192.168.3.244)

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --configsvr --dbpath=/var/data/config --port 20000 --logpath=/var/data/config.log --logappend --fork

shard 配置——(192.168.3.245

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy1 --logpath=/var/data/boy1.log --port 27017 --shardsvr --replSet boy1 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy2 --logpath=/var/data/boy2.log --port 27018 --shardsvr --replSet boy2 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy3 --logpath=/var/data/boy3.log --port 27019 --shardsvr --replSet boy3 --fork --logappend

config配置(192.168.3.245)

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --configsvr --dbpath=/var/data/config --port 20000 --logpath=/var/data/config.log --logappend --fork

shard 配置——(192.168.3.246

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy4 --logpath=/var/data/boy4.log --port 27017 --shardsvr --replSet boy4 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy5 --logpath=/var/data/boy5.log --port 27018 --shardsvr --replSet boy5 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy6 --logpath=/var/data/boy6.log --port 27019 --shardsvr --replSet boy6 --fork --logappend

shard 配置——(192.168.3.248

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy4 --logpath=/var/data/boy4.log --port 27017 --shardsvr --replSet boy4 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy5 --logpath=/var/data/boy5.log --port 27018 --shardsvr --replSet boy5 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy6 --logpath=/var/data/boy6.log --port 27019 --shardsvr --replSet boy6 --fork --logappend

shard 配置——(192.168.3.249

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy4 --logpath=/var/data/boy4.log --port 27017 --shardsvr --replSet boy4 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy5 --logpath=/var/data/boy5.log --port 27018 --shardsvr --replSet boy5 --fork --logappend

/home/mongodb-linux-x86_64-1.8.4/bin/mongod --dbpath=/var/data/boy6 --logpath=/var/data/boy6.log --port 27019 --shardsvr --replSet boy6 --fork --logappend

 

 

连接192.168.3.243244245三台中任意一台的270172701827019进行如下操作

config = {_id:'boy1',members: [{_id: 0, host: '192.168.3.243:27017', priority:1},{_id: 1, host: '192.168.3.244:27017'},{_id: 2, host: '192.168.3.245:27017',arbiterOnly:true}]}

config = {_id:'boy2',members: [{_id: 0, host: '192.168.3.243:27018',arbiterOnly:true},{_id: 1, host: '192.168.3.244:27018', priority:1},{_id: 2, host: '192.168.3.245:27018'}]}

config = {_id:'boy3',members: [{_id: 0, host: '192.168.3.243:27019'},{_id: 1, host: '192.168.3.244:27019',arbiterOnly:true},{_id: 2, host: '192.168.3.245:27019', priority:1}]}

 

连接192.168.3.246248249三台中任意一台的270172701827019进行如下操作

config = {_id:'boy4',members: [{_id: 0, host: '192.168.3.246:27017', priority:1},{_id: 1, host: '192.168.3.248:27017'},{_id: 2, host: '192.168.3.249:27017',arbiterOnly:true}]}

config = {_id:'boy5',members: [{_id: 0, host: '192.168.3.246:27018',arbiterOnly:true},{_id: 1, host: '192.168.3.248:27018', priority:1},{_id: 2, host: '192.168.3.249:27018'}]}

config = {_id:'boy6',members: [{_id: 0, host: '192.168.3.246:27019'},{_id: 1, host: '192.168.3.248:27019',arbiterOnly:true},{_id: 2, host: '192.168.3.249:27019', priority:1}]}

 

 

admin连接mongos192.168.3.242:30000)路由的操作:添加分片

db.runCommand({addshard:"boy1/192.168.3.243:27017,192.168.3.244:27017"});

db.runCommand({addshard:"boy2/192.168.3.244:27018,192.168.3.245:27018"});

db.runCommand({addshard:"boy3/192.168.3.245:27019,192.168.3.243:27019"});

db.runCommand({addshard:"boy4/192.168.3.246:27017,192.168.3.248:27017"});

db.runCommand({addshard:"boy5/192.168.3.248:27018,192.168.3.249:27018"});

db.runCommand({addshard:"boy6/192.168.3.249:27019,192.168.3.246:27019"});

 

配置完成,后续就是建库,对表的操作了。