Mongodb分片集群规划及部署

转自http://www.2cto.com/database/201202/121386.html

一、测试环境

 

环境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"});
 
 
 
配置完成,后续就是建库,对表的操作了。



转自http://www.2cto.com/database/201202/121386.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于MongoDB分片集群部署,您可以按照以下步骤进行操作: 1. 部署配置服务器(config server):配置服务器用于存储分片集群的元数据,可以独立部署或与其他组件共享服务器。您可以选择部署多个配置服务器以增加可用性。 2. 启动分片服务器(shard server):分片服务器用于存储数据,您可以选择在不同的物理机器或虚拟机上启动多个分片服务器。每个分片服务器都可以容纳一部分数据。 3. 启动路由器(router):路由器也称为mongos进程,它是应用程序和分片集群之间的中间件。它将客户端请求路由到正确的分片服务器,并协调数据的读写操作。 4. 添加分片:在启动了路由器和分片服务器之后,您需要将分片服务器添加到集群中。使用mongos进程连接到配置服务器,并使用`sh.addShard()`命令添加每个分片服务器。 5. 配置分片键(shard key):分片键用于将数据划分为不同的分片。选择一个适合您数据模式和查询模式的字段作为分片键,并使用`sh.shardCollection()`命令启用分片。 6. 验证部署:您可以使用`sh.status()`命令来验证集群的状态,并确保所有组件都正常工作。 这只是一个简单的概述,实际部署过程可能会更加复杂,并且取决于您的环境和需求。建议您参考MongoDB官方文档中关于分片集群部署的详细指南,以获得更全面的了解和操作指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值