码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB集群复制部署

时间:2016-09-20 10:10:47      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

简介:

本文总结了MongoDB 3.2版本的集群复制集部署步骤。

 

要求:

•该集群中包含2个分片(shard)
•每个分片都是1个副本集
•分片副本集、配置服务器都需要考虑到单机故障的情况,保证可用性
•为了减小实验数据占据磁盘空间、加快实验速度,将每个分片的mongodb服务oplogSize设置在100以下
•部署前,做好部署准备工作,记录部署架构
 
 

部署前准备工作:

根据要求,绘制出集群部署架构图,如下图所示:
技术分享
 
 
两台Linux服务器,服务器版本为CentOS-6.6,为实现高可用配置两个复制集,每个复制集有三个片,配置三个配置服务器,保证其高可用性。
 
开启的各端口如下:
技术分享
 
 

开始配置工作:

第一步:创建目录

技术分享
 

第二步:在1.mongodb.com上配置三个配置服务器

mongod --configsvr --port 20000 --logpath /var/lib/mongo/data/configa/configa.log --logappend --dbpath /var/lib/mongo/data/configa --fork

mongod --configsvr --port 20001 --logpath /var/lib/mongo/data/configb/configb.log --logappend --dbpath /var/lib/mongo/data/configb --fork

mongod --configsvr --port 20002 --logpath /var/lib/mongo/data/configc/configc.log --logappend --dbpath /var/lib/mongo/data/configc --fork

 

第三步:在1.mongodb.com 和 2.mongodb.com上配置副3个本实例

在1.mongodb.com上配置副本实例

mongod --shardsvr --replSet a --dbpath /var/lib/mongo/data/a1/ --logpath /var/lib/mongo/data/a1/a1.log --port 27017 --fork --logappend --smallfiles --oplogSize 50

mongod --shardsvr --replSet a --dbpath /var/lib/mongo/data/a2/ --logpath /var/lib/mongo/data/a2/a2.log --port 27018 --fork --logappend --smallfiles --oplogSize 50

mongod --shardsvr --replSet a --dbpath /var/lib/mongo/data/a3/ --logpath /var/lib/mongo/data/a3/a3.log --port 27019 --fork --logappend --smallfiles --oplogSize 50

 

 
在2.mongodb.com上配置副本实例
mongod --shardsvr --replSet b --dbpath /var/lib/mongo/data/b1/ --logpath /var/lib/mongo/data/b1/b1.log --port 27017 --fork --logappend --smallfiles --oplogSize 50

mongod --shardsvr --replSet b --dbpath /var/lib/mongo/data/b2/ --logpath /var/lib/mongo/data/b2/b2.log --port 27018 --fork --logappend --smallfiles --oplogSize 50

mongod --shardsvr --replSet b --dbpath /var/lib/mongo/data/b3/ --logpath /var/lib/mongo/data/b3/b3.log --port 27019 --fork --logappend --smallfiles --oplogSize 50

 

第四步:在 1.mongodb.com配置route, mongos实例

mongos --configdb 1.mongodb.com:20000,1.mongodb.com:20001,1.mongodb.com:20002 --fork --logappend --logpath /var/lib/mongo/data/mongos1.log

mongos --configdb 1.mongodb.com:20000,1.mongodb.com:20001,1.mongodb.com:20002 --fork --logappend --logpath /var/lib/mongo/data/mongos2.log --port 30000

 

 
检查以上所有配置
技术分享
 
技术分享
 

第五步:配置副本集

Mongo --port 27017
Use admin
Rs.conf()

技术分享

 
技术分享
 
config={ 
  _id:“a", 
  members:
    [
      {_id:0,host:‘1.mongodb.com:27017,priority:10}, 
      {_id:1,host:‘1.mongodb.com:27018,priority:1},
      {_id:2,host:‘1.mongodb.com:27019,priority:1},
    ] 
}

config={ 
  _id:“b", 
  members:
    [
      {_id:0,host:‘2.mongodb.com:27017,priority:10}, 
      {_id:1,host:‘2.mongodb.com:27018,priority:1},
      {_id:2,host:‘2.mongodb.com:27019,priority:1},
    ] 
}

 

技术分享

技术分享

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

第六步:分片配置

技术分享
 
 
Sh.addShard(“a/1.mongodb.com:27017”)
Sh.addShard(“b/1.mongodb.com:27017”)

 

技术分享

 
 
 
 
 
 

MongoDB集群复制部署

标签:

原文地址:http://www.cnblogs.com/elewei/p/5887543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!