当前位置:数据库 > mongodb >>

Mongodb分片集群规划及部署

一、测试环境
 
环境centos 5.5 x86_64
 
 
 mongodb分片集群规划如下:
 
一、在服务器上启用mongos(192.168.3.242),由于测试环境,不做高负载及高可用
 
二、选取三台做为config server
 
三、在六台上都启用分片及仲裁三台服务器做一组shard server集群
 
具体操作如下 :
 
1、在192.168.3.243、192.168.3.244、192.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.246、192.168.3.248、192.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.243、244、245三台中任意一台的27017、27018、27019进行如下操作
 
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:'boy1',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:'boy1',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.246、248、249三台中任意一台的27017、27018、27019进行如下操作
 
config = {_id:'boy1',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:'boy1',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:'boy1',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连接mongos(192.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"});
 
 
 
配置完成,后续就是建库,对表的操作了。
 
 
 
 
 
 
 
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,