生產(chǎn)MongoDB分片與集群方案.docx
《生產(chǎn)MongoDB分片與集群方案.docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《生產(chǎn)MongoDB分片與集群方案.docx(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
生產(chǎn)MongoDB 分片與集群方案 【編者的話】 Mongo DB 是目前在IT行業(yè)非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)(NoSql),其靈活的數(shù)據(jù)存儲(chǔ)方式備受當(dāng)前IT從業(yè)人員的青睞。Mongo DB很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷?OO思想),在Mongo DB中 每一條記錄都是一個(gè)Document對(duì)象。本文介紹了一則生產(chǎn)環(huán)境下MongoDB實(shí)現(xiàn)分片與集群方案的操作實(shí)例。 一、 mongodb分片與集群拓?fù)鋱D 二、分片與集群的部署 1.Mongodb的安裝 分別在以上3臺(tái)服務(wù)器安裝好mongodb 安裝方法見(jiàn)安裝腳本。 2.Mongod 創(chuàng)建單個(gè)分片的副本集 10.68.4.209 ①建立數(shù)據(jù)文件夾和日志文件夾 mdkir /data/{master,slave,arbiter} mkdir /data/log/mongodb/{master,slave,arbiter} -p ②建立配置文件 #master.conf dbpath=/data/master logpath=/data/log/mongodb/master/mongodb.log pidfilepath=/var/run/mongo_master.pid #directoryperdb=true logappend=true replSet=policydb port=10002 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 #slave.conf dbpath=/data/slave logpath=/data/log/mongodb/slave/mongodb.log pidfilepath=/var/run/mongo_slave.pid #directoryperdb=true logappend=true replSet=policydb port=10001 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 #arbiter.conf dbpath=/data/arbiter logpath=/data/log/mongodb/arbiter/mongodb.log pidfilepath=/var/run/mongo_arbiter.pid #directoryperdb=true logappend=true replSet=policydb port=10000 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 ③啟動(dòng)mongodb /etc/init.d/mongodb_master start /etc/init.d/mongodb_slave start /etc/init.d/mongodb_arbiter start ④配置主、備、仲裁節(jié)點(diǎn) 主節(jié)點(diǎn): #/usr/local/mongodb/bin/mongo10.68.4.209:10002 MongoDBshellversion:2.4.9 connectingto:10.68.4.209:10002/test >useadmin switchedtodbadmin >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()#查看集群狀態(tài) 10.68.4.29 ①建立數(shù)據(jù)文件夾和日志文件夾 mdkir /data/{master,slave,arbiter} mkdir /data/log/mongodb/{master,slave,arbiter} -p ②建立配置文件 #master.conf dbpath=/data/master logpath=/data/log/mongodb/master/mongodb.log pidfilepath=/var/run/mongo_master.pid #directoryperdb=true logappend=true replSet=policydb2 port=10002 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 #slave.conf dbpath=/data/slave logpath=/data/log/mongodb/slave/mongodb.log pidfilepath=/var/run/mongo_slave.pid #directoryperdb=true logappend=true replSet=policydb2 port=10001 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 #arbiter.conf dbpath=/data/arbiter logpath=/data/log/mongodb/arbiter/mongodb.log pidfilepath=/var/run/mongo_arbiter.pid #directoryperdb=true logappend=true replSet=policydb2 port=10000 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 ③啟動(dòng)mongodb /etc/init.d/mongodb_masterstart /etc/init.d/mongodb_slavestart /etc/init.d/mongodb_arbiterstart ④配置主、備、仲裁節(jié)點(diǎn) 主節(jié)點(diǎn): #/usr/local/mongodb/bin/mongo10.68.4.209:10002 MongoDBshellversion:2.4.9 connectingto:10.68.4.209:10002/test >useadmin switchedtodbadmin >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()#查看集群狀態(tài) 10.68.4.30 ①建立數(shù)據(jù)文件夾和日志文件夾 mdkir /data/{master,slave,arbiter} mkdir /data/log/mongodb/{master,slave,arbiter} -p ②建立配置文件 #master.conf dbpath=/data/master logpath=/data/log/mongodb/master/mongodb.log pidfilepath=/var/run/mongo_master.pid #directoryperdb=true logappend=true replSet=policydb3 port=10002 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 #slave.conf dbpath=/data/slave logpath=/data/log/mongodb/slave/mongodb.log pidfilepath=/var/run/mongo_slave.pid #directoryperdb=true logappend=true replSet=policydb3 port=10001 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 #arbiter.conf dbpath=/data/arbiter logpath=/data/log/mongodb/arbiter/mongodb.log pidfilepath=/var/run/mongo_arbiter.pid #directoryperdb=true logappend=true replSet=policydb3 port=10000 oplogSize=10000 fork=true noprealloc=true profile=1 slowms=200 ③啟動(dòng)mongodb /etc/init.d/mongodb_master start /etc/init.d/mongodb_slave start /etc/init.d/mongodb_arbiter start ④配置主、備、仲裁節(jié)點(diǎn) 主節(jié)點(diǎn): #/usr/local/mongodb/bin/mongo10.68.4.209:10002 MongoDBshellversion:2.4.9 connectingto:10.68.4.209:10002/test >useadmin switchedtodbadmin >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()#查看集群狀態(tài) 2.Mongod 創(chuàng)建單個(gè)分片的配置服務(wù)器 ① 創(chuàng)建配置目錄 10.68.4.209 mkdir /data/config 10.68.4.29 mkdir /data/config 10.68.4.30 mkdir /data/config ②準(zhǔn)備配置服務(wù)器的配置文件 3個(gè)服務(wù)器的配置服務(wù)器的配置文件一致 #config.conf dbpath=/data/config logpath=/data/log/mongodb/config/mongodb.log pidfilepath=/var/run/mongo_config.pid directoryperdb=true logappend=true port=10003 fork=true configsvr=true ③啟動(dòng)配置服務(wù)器 /etc/init.d/mongodb_config start 3.Mongod 創(chuàng)建并配置mongos和開(kāi)啟分片模式 ① 創(chuàng)建日志目錄 Mkdir -p /data/log/mongodb/mongos/ ② 準(zhǔn)備mongos的配置文件 #mongos.conf logpath=/data/log/mongodb/mongos/mongodb.log pidfilepath=/var/run/mongo_mongos.pid logappend=true port=10004 fork=true configdb=10.68.4.209:10003,10.68.4.29:10003,10.68.4.30:1000 ③ 啟動(dòng)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()#查看分片狀態(tài) sh.status({verbose:true}) sh.status() 3.快速創(chuàng)建副本集和配置服務(wù)腳本 上圖 1.圖1 2.圖2 config.conf配置文件 3.圖3 附mongodb一鍵安裝腳本: http://pan.baidu.com/s/1c0zvP7M 附mongodb副本集和配置服務(wù)器一鍵配置腳本: http://pan.baidu.com/s/1GuQ0A 博文出處:http://my.oschina.net/pwd/blog/411439 【編輯推薦】 為什么選擇使用NoSQL數(shù)據(jù)庫(kù)開(kāi)發(fā)如此困難? 軟件公司為何要放棄MongoDB? NoSQL詳解:如何找到對(duì)的技術(shù) 為什么需要選用NoSQL? 谷歌新款高性能NoSQL數(shù)據(jù)庫(kù) 支持HBase接口- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 生產(chǎn) MongoDB 分片 集群 方案
鏈接地址:http://italysoccerbets.com/p-9380337.html