http://blog.csdn.net/luonanqin/article/details/8497860 Mongodb集群搭建的三種方式
仙游ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!NoSQL = Not Only SQL mongodb存儲(chǔ)方式是文檔式存儲(chǔ),并不是Key-Value形式。
Mongodb的三種集群方式的搭建:Replica Set / Sharding / Master-Slaver
Replica Set 副本集集群原理:(最簡(jiǎn)單的集群方式)
主節(jié)點(diǎn),備節(jié)點(diǎn),仲裁節(jié)點(diǎn)。主備節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù),仲裁節(jié)點(diǎn)不存儲(chǔ)數(shù)據(jù)。
客戶(hù)端同時(shí)連接主節(jié)點(diǎn)與備節(jié)點(diǎn),不連接仲裁節(jié)點(diǎn)。
默認(rèn)設(shè)置下,主節(jié)點(diǎn)提供所有增刪查改服務(wù),備節(jié)點(diǎn)不提供任何服務(wù)。但是可以通過(guò)設(shè)置使備節(jié)點(diǎn)提供查詢(xún)服務(wù),這樣就可以減少主節(jié)點(diǎn)的壓力,當(dāng)客戶(hù)端進(jìn)行數(shù)據(jù)查詢(xún)時(shí),請(qǐng)求自動(dòng)轉(zhuǎn)到備節(jié)點(diǎn)上。這個(gè)設(shè)置叫做Read Preference Modes,同時(shí)Java客戶(hù)端提供了簡(jiǎn)單的配置方式,可以不必直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。
仲裁節(jié)點(diǎn)是一種特殊的節(jié)點(diǎn),它本身并不存儲(chǔ)數(shù)據(jù),主要的作用是決定哪一個(gè)備節(jié)點(diǎn)在主節(jié)點(diǎn)掛掉之后提升為主節(jié)點(diǎn),所以客戶(hù)端不需要連接此節(jié)點(diǎn)。這里雖然只有一個(gè)備節(jié)點(diǎn),但是仍然需要一個(gè)仲裁節(jié)點(diǎn)來(lái)提升備節(jié)點(diǎn)級(jí)別。
測(cè)試:一個(gè)是往主節(jié)點(diǎn)插入數(shù)據(jù),能從備節(jié)點(diǎn)查到之前插入的數(shù)據(jù)(查詢(xún)備節(jié)點(diǎn)可能會(huì)遇到某個(gè)問(wèn)題,可以自己去網(wǎng)上查查看)。二是停掉主節(jié)點(diǎn),備節(jié)點(diǎn)能變成主節(jié)點(diǎn)提供服務(wù)。三是恢復(fù)主節(jié)點(diǎn),備節(jié)點(diǎn)也能恢復(fù)其備的角色,而不是繼續(xù)充當(dāng)主的角色。二和三都可以通過(guò)rs.status()命令實(shí)時(shí)查看集群的變化。
Sharding 分片集群:
和Replica Set類(lèi)似,都需要一個(gè)仲裁節(jié)點(diǎn),但是Sharding還需要配置節(jié)點(diǎn)和路由節(jié)點(diǎn)。就三種集群搭建方式來(lái)說(shuō),這種是最復(fù)雜的。
Master-Slaver 主備方式
官方已經(jīng)不推薦這種方式,搭建方式也相對(duì)簡(jiǎn)單。
用過(guò)的人應(yīng)該知道m(xù)ongodb吃?xún)?nèi)存的問(wèn)題,解決辦法只能通過(guò)ulimit來(lái)控制內(nèi)存使用量,但是如果控制不好的話(huà),mongodb會(huì)掛掉。
mongodb的安裝
執(zhí)行腳本 install_mongodb_20160510.sh 即可安裝mongodb服務(wù)。詳細(xì)請(qǐng)看redme
mongodb集群的安裝
常用命令
mongodb的啟動(dòng)
/opt/server/mongodb/bin/mongod -f /opt/server/mongodb/mongodb.conf
/opt/server/mongodb/bin/mongod -f /opt/server/mongodb/mongodb.conf --fork #單機(jī)環(huán)境/與配置文件有關(guān)系,具體請(qǐng)參看配置文件
mongodb的停止
kill -15 pid
pkill mongod
mongodb登錄方式
/opt/server/mongodb/bin/mongo 192.168.1.200:27017
查看狀態(tài)
rs.status()
刪除節(jié)點(diǎn):
rs.remove("mongodb13.kk.net:27019") #可以刪除節(jié)點(diǎn)
添加節(jié)點(diǎn):
rs.addArb("mongodb13.kk.net:27019") #可以添加節(jié)點(diǎn),但這樣添加的節(jié)點(diǎn)為仲裁
mongodb副本集如何添加一個(gè)節(jié)點(diǎn)使其成為備節(jié)點(diǎn)呢?
在主節(jié)點(diǎn)上操作
use admin
cfg={ _id:"wlb", members:[ {_id:0,host:'192.168.11.215:27017',priority:2}, {_id:1,host:'192.168.11.187:27017',priority:1},{_id:2,host:'192.168.11.25:27017',arbiterOnly:true}] };
rs.reconfig(cfg); #使配置生效
rs.status()
查看所有數(shù)據(jù)庫(kù)
show dbs
MongoDB 創(chuàng)建數(shù)據(jù)庫(kù)
use znx
db
show dbs #會(huì)發(fā)現(xiàn)創(chuàng)建的數(shù)據(jù)庫(kù)不在列表中,要想顯示需要插入數(shù)據(jù)
備節(jié)點(diǎn)若想查看數(shù)據(jù)庫(kù),需要執(zhí)行如下命令,否則報(bào)13435錯(cuò)誤
rs.slaveOk(true)
插入數(shù)據(jù)
db.znx.insert({"name":"dengyong"})
show dbs #會(huì)顯示出znx數(shù)據(jù)庫(kù),備節(jié)點(diǎn)也會(huì)顯示
查看全部數(shù)據(jù)表
show collections
查看全部表記錄
db.znx.find()
刪除pushlog這張表
> db.Pushlog.drop() #具體操作,輸入db.Pushlog.d后按table鍵,看有啥命令
true
備節(jié)點(diǎn)查看數(shù)據(jù),先執(zhí)行如下命令,否則會(huì)報(bào)錯(cuò)
rs.slaveOk(true)
MongoDB 刪除數(shù)據(jù)庫(kù)
use znx
db.dropDatabase() #執(zhí)行刪除命令
show dbs #znx數(shù)據(jù)庫(kù)已刪除
參考鏈接:http://blog.csdn.net/chen88358323/article/details/50206651
mongodb創(chuàng)建用戶(hù)
use admin
db.createUser({user:"wjs",pwd:"wjs",roles:[{role:"userAdminAnyDatabase",db:"admin"}]}) #創(chuàng)建用戶(hù)
show users #查看用戶(hù) 需要先use數(shù)據(jù)庫(kù)
內(nèi)置角色:
1. 數(shù)據(jù)庫(kù)用戶(hù)角色:read、readWrite;
2. 數(shù)據(jù)庫(kù)管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復(fù)角色:backup、restore;
5. 所有數(shù)據(jù)庫(kù)角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級(jí)用戶(hù)角色:root
// 這里還有幾個(gè)角色間接或直接提供了系統(tǒng)超級(jí)用戶(hù)的訪問(wèn)(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內(nèi)部角色:__system
具體角色:
Read:允許用戶(hù)讀取指定數(shù)據(jù)庫(kù)
readWrite:允許用戶(hù)讀寫(xiě)指定數(shù)據(jù)庫(kù)
dbAdmin:允許用戶(hù)在指定數(shù)據(jù)庫(kù)中執(zhí)行管理函數(shù),如索引創(chuàng)建、刪除,查看統(tǒng)計(jì)或訪問(wèn)system.profile
userAdmin:允許用戶(hù)向system.users集合寫(xiě)入,可以找指定數(shù)據(jù)庫(kù)里創(chuàng)建、刪除和管理用戶(hù)
clusterAdmin:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶(hù)所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限。
readAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶(hù)所有數(shù)據(jù)庫(kù)的讀權(quán)限
readWriteAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶(hù)所有數(shù)據(jù)庫(kù)的讀寫(xiě)權(quán)限
userAdminAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶(hù)所有數(shù)據(jù)庫(kù)的userAdmin權(quán)限
dbAdminAnyDatabase:只在admin數(shù)據(jù)庫(kù)中可用,賦予用戶(hù)所有數(shù)據(jù)庫(kù)的dbAdmin權(quán)限。
root:只在admin數(shù)據(jù)庫(kù)中可用。超級(jí)賬號(hào),超級(jí)權(quán)限
db.system.users.find() #查看用戶(hù)
show users
創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)znx
use znx
創(chuàng)建一個(gè)普通用戶(hù)wxc
db.createUser({user:"wxc",pwd:"wxc",roles:[{role:"readWrite",db:"znx"}]})
釋放掉MongoDB占用的內(nèi)存
重啟服務(wù)來(lái)釋放內(nèi)存,或 使用MongoDB內(nèi)置的closeAllDatabases命令達(dá)到目的:
mongo> use admin
mongo> db.runCommand({closeAllDatabases:1})
監(jiān)控MongoDB的內(nèi)存使用情況
db.serverStatus().mem
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)名稱(chēng):mongodb集群基礎(chǔ)知識(shí)-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article6/ccpjig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、建站公司、小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、App設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容