您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 生产MongoDB 分片与集群方案
生产MongoDB分片与集群方案【编者的话】MongoDB是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。MongoDB很好的实现了面向对象的思想(OO思想),在MongoDB中每一条记录都是一个Document对象。本文介绍了一则生产环境下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_masterstart/etc/init.d/mongodb_slavestart/etc/init.d/mongodb_arbiterstart④配置主、备、仲裁节点主节点:#/usr/local/mongodb/bin/mongo10.68.4.209:10002MongoDBshellversion:2.4.9connectingto:10.68.4.209:10002/testuseadminswitchedtodbadminconfig={_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_masterstart/etc/init.d/mongodb_slavestart/etc/init.d/mongodb_arbiterstart④配置主、备、仲裁节点主节点:#/usr/local/mongodb/bin/mongo10.68.4.209:10002MongoDBshellversion:2.4.9connectingto:10.68.4.209:10002/testuseadminswitchedtodbadminconfig={_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_masterstart/etc/init.d/mongodb_slavestart/etc/init.d/mongodb_arbiterstart④配置主、备、仲裁节点主节点:#/usr/local/mongodb/bin/mongo10.68.4.209:10002MongoDBshellversion:2.4.9connectingto:10.68.4.209:10002/testuseadminswitchedtodbadminconfig={_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.209mkdir/data/config10.68.4.29mkdir/data/config10.68.4.30mkdir/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_configstart3.Mongod创建并配置mongos和开启分片模式①创建日志目录Mkdir-p/data/log/mongodb/mongos/②准备mongos的配置文件#mongos.conflogpath=/data/log/mongodb/mo
本文标题:生产MongoDB 分片与集群方案
链接地址:https://www.777doc.com/doc-5832303 .html