Welcome 微信登录

首页 / 数据库 / MySQL / MongoDB 副本集+分片 架构部署

Replica Set + Sharding  配置部署

准备工作

架构设计

 需要三台机器(racdb,host8,host9):
  • 数据节点,sharding2片
  • 每个sharding为Replic Set方式,冗余度为3(主、从、延迟从)
  • mongos(路由节点),数量为3
  • config  server(配置服务器节点),数量为3
  • arbiter server(表决节点),数量为6
 Mongodb ReplicaSET+Sharding架构如下: 

系统配置

软件环境:OS:Oracle Linux 6.5MongoDB:mongodb3.2.3 下载地址:mongodb-linux-x86_64-rhel62-3.2.3.tgz 更多MongoDB相关教程见以下内容: CentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm CentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm Ubuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm MongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm Ubunu 14.04下MongoDB的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm 《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm Nagios监控MongoDB分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm 基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htm  创建用户:# groupadd mongod# useradd -g mongod mongod 配置hosts:# vi /etc/hosts10.1.5.x1     racdb                    racdb.localdomain10.1.5.x2     host8       host8.localdomain10.1.5.x3    host9       host9.localdomain 解压文件:# tar zxvf mongodb-linux-x86_64-rhel62-3.2.3.tgz# mv mongodb-linux-x86_64-3.x.x/ /home/mongod/mongodb 

安装部署

1.     自动部署脚本

在三个机器分别配置shard1、shard2、arbiter、config server、mongos需要的参数文件 机器1(racdb)# 数据节点mkdir -p /home/mongod/mongodb/shard11cat > /home/mongod/mongodb/shard11/shard11.conf <<EOFshardsvr=truereplSet=shard1port=28017dbpath=/home/mongod/mongodb/shard11oplogSize=2048logpath=/home/mongod/mongodb/shard11/shard11.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF mkdir -p /home/mongod/mongodb/shard21cat > /home/mongod/mongodb/shard21/shard21.conf <<EOFshardsvr=truereplSet=shard2port=28018dbpath=/home/mongod/mongodb/shard21oplogSize=2048logpath=/home/mongod/mongodb/shard21/shard21.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF #表决节点mkdir -p /home/mongod/mongodb/arbiter1cat  >  /home/mongod/mongodb/arbiter1/arbiter1.conf <<EOFshardsvr=truereplSet=shard1port=28031dbpath=/home/mongod/mongodb/arbiter1oplogSize=100logpath=/home/mongod/mongodb/arbiter1/arbiter1.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF mkdir -p /home/mongod/mongodb/arbiter2cat > /home/mongod/mongodb/arbiter2/arbiter2.conf <<EOFshardsvr=truereplSet=shard2port=28032dbpath=/home/mongod/mongodb/arbiter2oplogSize=100logpath=/home/mongod/mongodb/arbiter2/arbiter2.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF #配置节点mkdir -p /home/mongod/mongodb/config/cat > /home/mongod/mongodb/config/config1.conf <<EOFconfigsvr=truedbpath=/home/mongod/mongodb/config/port=20000logpath=/home/mongod/mongodb/config/config1.loglogappend=truefork=truehttpinterface=true#nojournal=trueEOF #路由节点mkdir -p /home/mongod/mongodb/mongoscat > /home/mongod/mongodb/mongos/mongos1.conf <<EOFconfigdb=racdb:20000,host8:20000,host9:20000port=28885chunkSize=100logpath=/home/mongod/mongodb/mongos/mongos1.loglogappend=truefork=trueEOF  机器2(host8)#数据节点mkdir -p /home/mongod/mongodb/shard12cat > /home/mongod/mongodb/shard12/shard12.conf <<EOFshardsvr=truereplSet=shard1port=28017dbpath=/home/mongod/mongodb/shard12oplogSize=2048logpath=/home/mongod/mongodb/shard12/shard12.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  mkdir -p /home/mongod/mongodb/shard22cat > /home/mongod/mongodb/shard22/shard22.conf <<EOFshardsvr=truereplSet=shard2port=28018dbpath=/home/mongod/mongodb/shard22oplogSize=2048logpath=/home/mongod/mongodb/shard22/shard22.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  #表决节点mkdir -p /home/mongod/mongodb/arbiter1cat  >  /home/mongod/mongodb/arbiter1/arbiter1.conf<<EOFshardsvr=truereplSet=shard1port=28031dbpath=/home/mongod/mongodb/arbiter1oplogSize=100logpath=/home/mongod/mongodb/arbiter1/arbiter1.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  mkdir -p /home/mongod/mongodb/arbiter2cat > /home/mongod/mongodb/arbiter2/arbiter2.conf <<EOFshardsvr=truereplSet=shard2port=28032dbpath=/home/mongod/mongodb/arbiter2oplogSize=100logpath=/home/mongod/mongodb/arbiter2/arbiter2.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  #配置节点mkdir -p /home/mongod/mongodb/config/cat > /home/mongod/mongodb/config/config2.conf <<EOFconfigsvr=truedbpath=/home/mongod/mongodb/config/port=20000logpath=/home/mongod/mongodb/config/config2.loglogappend=truefork=true#nojournal = trueEOF  #路由节点mkdir -p /home/mongod/mongodb/mongoscat >/home/mongod/mongodb/mongos/mongos2.conf <<EOFconfigdb=racdb:20000,host8:20000,host9:20000port=28885chunkSize=100logpath=/home/mongod/mongodb/mongos/mongos2.loglogappend=truefork=trueEOF  机器3(host9)#数据节点mkdir -p /home/mongod/mongodb/shard13cat > /home/mongod/mongodb/shard13/shard13.conf <<EOFshardsvr=truereplSet=shard1port=28017dbpath=/home/mongod/mongodb/shard13oplogSize=2048logpath=/home/mongod/mongodb/shard13/shard13.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  mkdir -p /home/mongod/mongodb/shard23cat > /home/mongod/mongodb/shard23/shard23.conf <<EOFshardsvr=truereplSet=shard2port=28018dbpath=/home/mongod/mongodb/shard23oplogSize=2048logpath=/home/mongod/mongodb/shard23/shard23.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  #表决节点mkdir -p /home/mongod/mongodb/arbiter1cat  >  /home/mongod/mongodb/arbiter1/arbiter1.conf<<EOFshardsvr=truereplSet=shard1port=28031dbpath=/home/mongod/mongodb/arbiter1oplogSize=100logpath=/home/mongod/mongodb/arbiter1/arbiter1.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF mkdir -p /home/mongod/mongodb/arbiter2cat > /home/mongod/mongodb/arbiter2/arbiter2.conf <<EOFshardsvr=truereplSet=shard2port=28032dbpath=/home/mongod/mongodb/arbiter2oplogSize=100logpath=/home/mongod/mongodb/arbiter2/arbiter2.loglogappend=truefork=truerest=truehttpinterface=truenojournal = trueEOF  #配置节点mkdir -p /home/mongod/mongodb/config/cat > /home/mongod/mongodb/config/config3.conf <<EOFconfigsvr=truedbpath=/home/mongod/mongodb/config/port=20000logpath=/home/mongod/mongodb/config/config3.loglogappend=truefork=true#nojournal = trueEOF  #路由节点mkdir -p/home/mongod/mongodb/mongoscat >/home/mongod/mongodb/mongos/mongos3.conf <<EOFconfigdb=racdb:20000,host8:20000,host9:20000port=28885chunkSize=100logpath=/home/mongod/mongodb/mongos/mongos3.loglogappend=truefork=trueEOF  

2. 启动服务

 --在Server1启动shard1、shard2、arbiter1、arbiter2服务# server 1mongod --config /home/mongod/mongodb/shard11/shard11.confmongod --config /home/mongod/mongodb/shard21/shard21.confmongod --config /home/mongod/mongodb/arbiter1/arbiter1.confmongod --config /home/mongod/mongodb/arbiter2/arbiter2.confmongod --config /home/mongod/mongodb/config/config1.conf --在Server2启动shard1、shard2、arbiter1、arbiter2服务# server 2mongod --config /home/mongod/mongodb/shard12/shard12.confmongod --config /home/mongod/mongodb/shard22/shard22.confmongod --config /home/mongod/mongodb/arbiter1/arbiter1.confmongod --config /home/mongod/mongodb/arbiter2/arbiter2.confmongod --config /home/mongod/mongodb/config/config2.conf --在Server3启动shard1、shard2、arbiter1、arbiter2服务# server 3mongod --config /home/mongod/mongodb/shard13/shard13.confmongod --config /home/mongod/mongodb/shard23/shard23.confmongod --config /home/mongod/mongodb/arbiter1/arbiter1.confmongod --config /home/mongod/mongodb/arbiter2/arbiter2.confmongod --config /home/mongod/mongodb/config/config3.conf 然后在server1、server2、server3上分别启动mongos服务# server1mongos --config /home/mongod/mongodb/mongos/mongos1.conf# server2mongos --config /home/mongod/mongodb/mongos/mongos2.conf# server2mongos --config /home/mongod/mongodb/mongos/mongos3.conf更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2016-04/130009p2.htm
  • 1
  • 2
  • 下一页
MongoDB分片实战MongoDB复制集之:安装部署相关资讯      MongoDB分片  MongoDB副本集 
  • MongoDB 搭建副本集(Replica Set  (今 07:51)
  • MongoDB的副本集节点角色介绍及选  (06月13日)
  • MongoDB 复制(副本集)  (04月14日)
  • MongoDB副本集实现及读写分离  (06月13日)
  • MongoDB 分片  (04月14日)
  • MongoDB集群上副本集(replica set  (04月10日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明