成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Mongodbreplicaset模式篇

復(fù)制集架構(gòu)圖:

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)).為客戶提供專業(yè)的聯(lián)通服務(wù)器托管,四川各地服務(wù)器托管,聯(lián)通服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:13518219792

Mongodb replica set模式篇

三節(jié)點(diǎn)replicaset配置安裝(無(wú)仲裁節(jié)點(diǎn)):

Replica set 【10.10.20.161-10.10.20.163】

10.10.20.161-10.10.20.163這三臺(tái)按下面的安裝:

mkdir -p/u01/MongoDB/data/replset/

mkdir -p/u01/mongodb/log/

/usr/local/mongodb/bin/mongod--replSet myrepl --fork --port 40001 --dbpath /u01/mongodb/data/replset/--logpath /u01/mongodb/log/replset.log --logappend --oplogSize=4096

 

然后在建立集群,想讓哪臺(tái)當(dāng)主就登陸哪臺(tái)的服務(wù)器的mongo,然后添加如下配置

/usr/local/mongodb/bin/mongo-port 40001

config ={_id: 'myrepl', members: [{_id: 0, host: '10.10.20.161:40001'}, {_id: 1, host:'10.10.20.162:40001'},{_id: 3, host: '10.10.20.163:40001'}]}

rs.initiate(config)

配置完畢后退出再登陸會(huì)顯示primary字樣

/usr/local/mongodb/bin/mongo-port 40001

MongoDBshell version: 2.2.2

connectingto: 127.0.0.1:40001/test

myrepl:PRIMARY>

而另外兩個(gè)則顯示myrepl:SECONDARY

 

三節(jié)點(diǎn)replicaset配置安裝(有仲裁節(jié)點(diǎn)):

三節(jié)點(diǎn)無(wú)仲裁的好處就是一個(gè)master寫,兩個(gè)slave讀。缺點(diǎn)是,我現(xiàn)在只有兩臺(tái)機(jī)器,也想做replica set,這樣就出現(xiàn)了問(wèn)題,如果只有兩臺(tái)的話,如果master宕機(jī)的話,那么只有slave一臺(tái),投票算法無(wú)法進(jìn)行,所以slave無(wú)法提升為master只能只讀,但是如果有一個(gè)仲裁節(jié)點(diǎn)的話,就可以完成切換,仲裁節(jié)點(diǎn)只負(fù)責(zé)投票不需要同步數(shù)據(jù)。

添加仲裁節(jié)點(diǎn)也很簡(jiǎn)單

配置好1主1從節(jié)點(diǎn)后添加rs.add('10.10.20.163:40001',true)或者用rs.addArb('10.10.20.163:40001');

也可在第一次配置時(shí)添加

config ={_id: 'myrepl', members: [{_id: 0, host: '10.10.20.161:40001'}, {_id: 1, host:'10.10.20.162:40001'},{_id: 3, host: '10.10.20.163:40001', arbiterOnly: true}]}

rs.initiate(config)

 

讀寫分離:

默認(rèn)做好Replica set的時(shí)候,slave是不開(kāi)讀的只能做故障切換用,這樣比較浪費(fèi),為了分擔(dān)主上的壓力,應(yīng)該讓slave可讀,方法是在slave服務(wù)器上執(zhí)行rs.slaveOk()

 

手動(dòng)切換master:

如果當(dāng)前master出現(xiàn)問(wèn)題,我們想把它降級(jí)成slave,那么非常簡(jiǎn)單,我們只用登陸master上執(zhí)行rs.stepDown(10),這個(gè)命令的意思是10秒不會(huì)參與選舉master,當(dāng)執(zhí)行完后復(fù)制集會(huì)從其他slave中選一個(gè)提升為master。其實(shí)手動(dòng)切換master除了這個(gè)命令還有個(gè)方法就是比較復(fù)雜,就是修改config,設(shè)置優(yōu)先級(jí),然后重新加載。還有個(gè)命令某些時(shí)候會(huì)用到rs.freeze(10)是在slave上使用的,意思是10秒內(nèi)不參與master的選舉,如果我們?cè)谑謩?dòng)切換master的時(shí)候,我們不想讓某些slave做master可以使用這個(gè)命令。

 

replica set相關(guān)命令:

rs.status():查看復(fù)制集狀態(tài)信息

rs.conf():查看復(fù)制集配置信息

 

replica set節(jié)點(diǎn)的刪除與添加:

假設(shè)我們現(xiàn)在需要對(duì)其中一個(gè)節(jié)點(diǎn)10.10.20.163進(jìn)行維護(hù),那我們需要,需要執(zhí)行的命令如下

登陸master

執(zhí)行rs.remove("10.10.20.163:40001")

等維護(hù)完之后再執(zhí)行rs.add("10.10.20.163:40001")添加節(jié)點(diǎn)即可,但是如果下線時(shí)間太久,導(dǎo)致oplog已經(jīng)被覆蓋,那么用rs.add添加節(jié)點(diǎn)后10.10.20.163的同步將會(huì)停止。而且會(huì)有報(bào)錯(cuò)Thu Feb 28 09:58:00[rsBackgroundSync] replSet not trying to sync from 10.10.20.162:40001, it isvetoed for 133 more seconds

 

replica set節(jié)點(diǎn)同步失敗處理方法:

接著上面的話題,如果同步出現(xiàn)問(wèn)題,有兩個(gè)方法解決

  1. 將一臺(tái)同步完好的節(jié)點(diǎn)remove然后將數(shù)據(jù)目錄scp過(guò)來(lái)再啟動(dòng)

  2. 將那個(gè)不同步的節(jié)點(diǎn)的數(shù)據(jù)目錄刪除,然后啟動(dòng),mongodb會(huì)自動(dòng)為你做好同步

 

replicaset何時(shí)會(huì)切換失效:

這是一個(gè)很重要的知識(shí)點(diǎn),就是replica set的成員節(jié)點(diǎn),一旦宕機(jī)數(shù)量超過(guò)一半的時(shí)候,PRIMARY會(huì)自動(dòng)降級(jí)成為SECONDARY,這時(shí)集群里只能只讀,這時(shí)為了防止由于網(wǎng)絡(luò)原因集群被分割成多塊選出多個(gè)主。所以為了保證剩余的機(jī)器仍可切換為主,可添加多個(gè)仲裁節(jié)點(diǎn)。

例如:1主+2從+1仲裁

一共4個(gè)節(jié)點(diǎn),一半就是2,那么如果2個(gè)從庫(kù)宕機(jī)之后,那個(gè)主就會(huì)自動(dòng)降級(jí)為從,這時(shí)這個(gè)replica set是不可寫入的,所以不可用。

那么要解決這個(gè)問(wèn)題就可以采用:1主+2從+2仲裁,這樣的話宕2個(gè)從庫(kù)達(dá)不到節(jié)點(diǎn)總數(shù)的一半,所以也不會(huì)對(duì)集群有影響。

 

修改slave的同步源(mongo 2.2新特性):

集群搭好之后,一般來(lái)說(shuō)slave都是從master那里同步,如果如果slave很多的話master壓力很大,我們可以讓某些slave從其他的slave來(lái)同步數(shù)據(jù),使用rs.syncFrom("10.10.20.163:40001")語(yǔ)句來(lái)執(zhí)行這臺(tái)slave從哪臺(tái)同步,要注意如果這臺(tái)slave重啟后這個(gè)設(shè)置會(huì)失效。

本文標(biāo)題:Mongodbreplicaset模式篇
網(wǎng)站鏈接:http://jinyejixie.com/article24/ppseje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、企業(yè)建站網(wǎng)站制作、網(wǎng)站內(nèi)鏈電子商務(wù)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
通道| 温泉县| 公主岭市| 黎城县| 喀喇沁旗| 东辽县| 通榆县| 邛崃市| 舒兰市| 司法| 吉木乃县| 桂阳县| 莱西市| 平泉县| 简阳市| 垣曲县| 桦川县| 全州县| 云林县| 新密市| 驻马店市| 汉阴县| 江阴市| 博兴县| 剑河县| 三江| 大方县| 武威市| 拉孜县| 孟州市| 汉寿县| 锦州市| 瓦房店市| 武威市| 高密市| 磐石市| 天水市| 靖安县| 西乌珠穆沁旗| 遂昌县| 云林县|