首页 / 数据库 / MySQL / 生产环境MongoDB 分片与集群 方案
生产环境MongoDB 分片与集群 方案一、 mongodb分片与集群拓扑图二、分片与集群的部署1.Mongodb的安装分别在以上3台服务器安装好mongodb安装方法见安装脚本。2.Mongod 创建单个分片的副本集10.68.4.209①建立数据文件夹和日志文件夹mdkir /data/{master,slave,arbiter}mkdir /data/log/mongodb/{master,slave,arbiter} -p②建立配置文件#master.confdbpath=/data/masterlogpath=/data/log/mongodb/master/mongodb.logpidfilepath=/var/run/mongo_master.pid#directoryperdb=truelogappend=truereplSet=policydbport=10002oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200
#slave.confdbpath=/data/slavelogpath=/data/log/mongodb/slave/mongodb.logpidfilepath=/var/run/mongo_slave.pid#directoryperdb=truelogappend=truereplSet=policydbport=10001oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200 #arbiter.confdbpath=/data/arbiterlogpath=/data/log/mongodb/arbiter/mongodb.logpidfilepath=/var/run/mongo_arbiter.pid#directoryperdb=truelogappend=truereplSet=policydbport=10000oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200③启动mongodb/etc/init.d/mongodb_master start/etc/init.d/mongodb_slave start/etc/init.d/mongodb_arbiter start④配置主、备、仲裁节点主节点:# /usr/local/mongodb/bin/mongo 10.68.4.209:10002MongoDB shell version: 2.4.9connecting to: 10.68.4.209:10002/test> use adminswitched to db admin>config={ _id:"policydb", members:[ {_id:0,host:"10.68.4.209:10002",priority:2}, {_id:1,host:"10.68.4.209:10001",priority:1}, ... {_id:2,host:"10.68.4.209:10000",arbiterOnly:true}] };{ "_id" : "policydb", "members" : [ { "_id" : 0, "host" : "10.68.4.209:10002", "priority" : 2 }, { "_id" : 1, "host" : "10.68.4.209:10001", "priority" : 1 }, { "_id" : 2, "host" : "10.68.4.209:10000", "arbiterOnly" : true } ]}rs.initiate(config) #初始化rs.status() #查看集群状态 10.68.4.29①建立数据文件夹和日志文件夹mdkir /data/{master,slave,arbiter}mkdir /data/log/mongodb/{master,slave,arbiter} -p②建立配置文件#master.confdbpath=/data/masterlogpath=/data/log/mongodb/master/mongodb.logpidfilepath=/var/run/mongo_master.pid#directoryperdb=truelogappend=truereplSet=policydb2port=10002oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200 #slave.confdbpath=/data/slavelogpath=/data/log/mongodb/slave/mongodb.logpidfilepath=/var/run/mongo_slave.pid#directoryperdb=truelogappend=truereplSet=policydb2port=10001oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200 #arbiter.confdbpath=/data/arbiterlogpath=/data/log/mongodb/arbiter/mongodb.logpidfilepath=/var/run/mongo_arbiter.pid#directoryperdb=truelogappend=truereplSet=policydb2port=10000oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200③启动mongodb/etc/init.d/mongodb_master start/etc/init.d/mongodb_slave start/etc/init.d/mongodb_arbiter start ④配置主、备、仲裁节点主节点:# /usr/local/mongodb/bin/mongo 10.68.4.209:10002MongoDB shell version: 2.4.9connecting to: 10.68.4.209:10002/test> use adminswitched to db admin> config={ _id:"policydb2", members:[ {_id:0,host:"10.68.4.29:10002",priority:2}, {_id:1,host:"10.68.4.29:10001",priority:1}, ... {_id:2,host:"10.68.4.209:10000",arbiterOnly:true}] };{ "_id" : "policydb", "members" : [ { "_id" : 0, "host" : "10.68.4.29:10002", "priority" : 2 }, { "_id" : 1, "host" : "10.68.4.29:10001", "priority" : 1 }, { "_id" : 2, "host" : "10.68.4.29:10000", "arbiterOnly" : true } ]}rs.initiate(config) #初始化rs.status() #查看集群状态10.68.4.30①建立数据文件夹和日志文件夹mdkir /data/{master,slave,arbiter}mkdir /data/log/mongodb/{master,slave,arbiter} -p②建立配置文件#master.confdbpath=/data/masterlogpath=/data/log/mongodb/master/mongodb.logpidfilepath=/var/run/mongo_master.pid#directoryperdb=truelogappend=truereplSet=policydb3port=10002oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200 #slave.confdbpath=/data/slavelogpath=/data/log/mongodb/slave/mongodb.logpidfilepath=/var/run/mongo_slave.pid#directoryperdb=truelogappend=truereplSet=policydb3port=10001oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200 #arbiter.confdbpath=/data/arbiterlogpath=/data/log/mongodb/arbiter/mongodb.logpidfilepath=/var/run/mongo_arbiter.pid#directoryperdb=truelogappend=truereplSet=policydb3port=10000oplogSize=10000fork=truenoprealloc=trueprofile=1slowms=200③启动mongodb/etc/init.d/mongodb_master start/etc/init.d/mongodb_slave start/etc/init.d/mongodb_arbiter start ④配置主、备、仲裁节点主节点:# /usr/local/mongodb/bin/mongo 10.68.4.209:10002MongoDB shell version: 2.4.9connecting to: 10.68.4.209:10002/test> use adminswitched to db admin> config={ _id:"policydb3", members:[ {_id:0,host:"10.68.4.30:10002",priority:2}, {_id:1,host:"10.68.4.30:10001",priority:1}, ... {_id:2,host:"10.68.4.30:10000",arbiterOnly:true}] };{ "_id" : "policydb", "members" : [ { "_id" : 0, "host" : "10.68.4.30:10002", "priority" : 2 }, { "_id" : 1, "host" : "10.68.4.30:10001", "priority" : 1 }, { "_id" : 2, "host" : "10.68.4.30:10000", "arbiterOnly" : true } ]}rs.initiate(config) #初始化rs.status() #查看集群状态 2.Mongod 创建单个分片的配置服务器① 创建配置目录10.68.4.209 mkdir /data/config10.68.4.29 mkdir /data/config10.68.4.30 mkdir /data/config②准备配置服务器的配置文件3个服务器的配置服务器的配置文件一致 #config.confdbpath=/data/configlogpath=/data/log/mongodb/config/mongodb.logpidfilepath=/var/run/mongo_config.piddirectoryperdb=truelogappend=trueport=10003fork=trueconfigsvr=true③启动配置服务器/etc/init.d/mongodb_config start 3.Mongod 创建并配置mongos和开启分片模式① 创建日志目录Mkdir -p /data/log/mongodb/mongos/② 准备mongos的配置文件#mongos.conflogpath=/data/log/mongodb/mongos/mongodb.logpidfilepath=/var/run/mongo_mongos.pidlogappend=trueport=10004fork=trueconfigdb=10.68.4.209:10003,10.68.4.29:10003,10.68.4.30:1000③ 启动mongos/etc/init.d/mongodb_mongos start ④ 配置分片sh.addShard("policydb/10.68.4.209:10002")sh.addShard("policydb2/10.68.4.29:10002")sh.addShard("policydb3/10.68.4.30:10002")sh.enableSharding("policydb")db.runCommand({"shardcollection":"policydb.fullPolicyTextInfo_history", "key":{"key":1}}) db.printShardingStatus() #查看分片状态sh.status({verbose:true})sh.status() 3.快速创建副本集和配置服务脚本上图1.图12.图2 config.conf配置文件3.图3MongoDB 3.0 正式版发布下载 http://www.linuxidc.com/Linux/2015-03/114414.htmCentOS编译安装MongoDB http://www.linuxidc.com/Linux/2012-02/53834.htmCentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htmCentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htmUbuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htmMongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htmUbunu 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.htmNagios监控MongoDB分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htmMongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里本文永久更新链接地址