下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫(kù) > DB2 > MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解

MongoDB添加secondary節(jié)點(diǎn)的2種方法詳解

時(shí)間:2024-02-24 17:17作者:下載吧人氣:26

前言

前段時(shí)間維護(hù)的一個(gè)事業(yè)群的其中一條業(yè)務(wù)線的開(kāi)發(fā)找到運(yùn)維,提出來(lái)了一個(gè)MongoDB的優(yōu)化問(wèn)題,那段時(shí)間MongoDB正在從op管理移交給db進(jìn)行維護(hù),整個(gè)部門都對(duì)MongoDB的運(yùn)維經(jīng)驗(yàn)缺乏,MongoDB的優(yōu)化更是一個(gè)未知的挑戰(zhàn)。當(dāng)op找到我,核心系統(tǒng)的公共服務(wù)平臺(tái)用來(lái)進(jìn)行短信服務(wù)的MongoDB集群想進(jìn)行一次優(yōu)化,我當(dāng)仁不能讓的承擔(dān)了這項(xiàng)我都覺(jué)得可能搞不定的任務(wù)。

開(kāi)發(fā)找到我提出了兩點(diǎn)兒?jiǎn)栴},并尋求運(yùn)維團(tuán)隊(duì)解決這個(gè)問(wèn)題,不過(guò)最終在我的理性的思考和他感性的思維碰撞下,最終我還是以勝利者的姿態(tài)勝出。我成功說(shuō)服了他,并解答了他一些疑問(wèn),得到了滿意的答復(fù)后再也沒(méi)找我了。當(dāng)然這里肯定不會(huì)就憑幾句話,任你理論再怎么豐富,態(tài)度如何曖昧,不拿點(diǎn)兒真實(shí)數(shù)據(jù),做點(diǎn)兒什么,怎么能說(shuō)服經(jīng)驗(yàn)豐富的開(kāi)發(fā)認(rèn)定的事兒。溝通了大半天,占據(jù)了我白天的工作時(shí)間,不過(guò)他提出來(lái)的問(wèn)題還是很值得討論。

根據(jù)開(kāi)發(fā)的邏輯,是想橫向擴(kuò)充secondary節(jié)點(diǎn),把其他要求不高的業(yè)務(wù)放到secondary節(jié)點(diǎn)上,減輕primary節(jié)點(diǎn)的壓力,達(dá)到部分讀寫分離,使得主要業(yè)務(wù)優(yōu)先保障。我覺(jué)得這個(gè)出發(fā)點(diǎn)是好的,但并沒(méi)有就此作出回應(yīng),其一是他沒(méi)有認(rèn)識(shí)到這個(gè)他認(rèn)為的有延遲并不是數(shù)據(jù)庫(kù)集群的問(wèn)題(這里不詳細(xì)講述排查的過(guò)程,下一篇文章會(huì)講些MongoDB的寫入與業(yè)務(wù)邏輯),其二是我們確實(shí)缺乏有效的資源硬件去進(jìn)行擴(kuò)充節(jié)點(diǎn)。

不同的業(yè)務(wù)場(chǎng)景應(yīng)用不同的架構(gòu)策略,擴(kuò)充secondary節(jié)點(diǎn)有時(shí)候不能解決問(wèn)題,尤其是那些實(shí)時(shí)性很高的業(yè)務(wù),但有時(shí)候擴(kuò)充secondary節(jié)點(diǎn)確實(shí)有效,比如硬件升級(jí)后需要做的服務(wù)遷移,需要在線擴(kuò)充secondary節(jié)點(diǎn)來(lái)滿足業(yè)務(wù)需要的更高的硬件要求。

MongoDB的secondary節(jié)點(diǎn)的擴(kuò)充,我總結(jié)起來(lái)有兩種方式:

1、rs.add()直接擴(kuò)充

2、一致性備份后進(jìn)行擴(kuò)充(個(gè)人叫法)

1、rs.add(“HOST_NAME:PORT”)

具體的實(shí)現(xiàn)方式是登陸擴(kuò)充節(jié)點(diǎn)的機(jī)器,編輯好配置文件,并建立相應(yīng)的目錄和權(quán)限,啟動(dòng)MongoDB實(shí)例就可以了。

需要注意的一點(diǎn)兒是這種擴(kuò)充方式要保證同步源的數(shù)據(jù)量級(jí),即保證在同步完數(shù)據(jù)前MongoDB的oplog不會(huì)被覆蓋,這點(diǎn)兒類似與MySQL的redo log日志,如果被覆蓋那么同步的數(shù)據(jù)出現(xiàn)不一致,導(dǎo)致同步失敗。

需要注意的另一點(diǎn)是同步數(shù)據(jù)的過(guò)程中,當(dāng)集群數(shù)據(jù)達(dá)到一定量級(jí)時(shí),同步數(shù)據(jù)的大小很大就會(huì)對(duì)網(wǎng)絡(luò)造成一定的壓力,可能對(duì)業(yè)務(wù)的核心交換機(jī)造成影響,因此需要用TC工具對(duì)同步流量做限速處理。這個(gè)限速需要考慮同步源可能不會(huì)是primary,也可能是同樣角色的secondary節(jié)點(diǎn),令外限速同步勢(shì)必會(huì)增大同步時(shí)間,這個(gè)會(huì)增大oplog被覆蓋的概率,具體限速值還是要經(jīng)過(guò)計(jì)算才能把握好。

2、一致性快照快速添加secondary節(jié)點(diǎn)(自我命名,歡迎各位交流)

  a)primary節(jié)點(diǎn)上進(jìn)行一致性快照備份

  b)secondary節(jié)點(diǎn)上進(jìn)行一致性快照恢復(fù),僅僅對(duì)數(shù)據(jù)部分進(jìn)行恢復(fù),暫時(shí)不要對(duì)oplog進(jìn)行恢復(fù)

     c)初始化oplog.rs集合,并恢復(fù)oplog記錄

     d)初始化local數(shù)據(jù)庫(kù)的其他兩個(gè)集合db.replset.election,db.system.replset

  e)修改數(shù)據(jù)庫(kù)配置并重啟數(shù)據(jù)庫(kù)(這一步操作前實(shí)例不開(kāi)啟認(rèn)證模式、復(fù)制集的配置),rs.add(“HOST_NAME:PORT”)將secondary添加進(jìn)集群并觀察同步狀態(tài)、校驗(yàn)數(shù)據(jù)的完整和一致性

實(shí)踐的詳細(xì)實(shí)踐過(guò)程如下(僅供參考交流,生產(chǎn)環(huán)境慎用):

1、primary上進(jìn)行一致性快照備份

#primary節(jié)點(diǎn)或者其他secondary節(jié)點(diǎn)備份數(shù)據(jù)
[root@172-16-3-190 mongodb]# /opt/app/mongodb/bin/mongodump -uroot -ppwd4mysql --authenticationDatabase=admin --port=27017 --oplog -o /tmp/dump_mongo/
2018-08-20T15:42:47.028+0800 writing admin.system.users to 
2018-08-20T15:42:47.030+0800 done dumping admin.system.users (1 document)
2018-08-20T15:42:47.030+0800 writing admin.system.version to 
2018-08-20T15:42:47.031+0800 done dumping admin.system.version (2 documents)
2018-08-20T15:42:47.032+0800 writing super_hero.user_address to 
2018-08-20T15:42:47.032+0800 writing super_hero.user_info to 
2018-08-20T15:42:47.033+0800 done dumping super_hero.user_address (1 document)
2018-08-20T15:42:47.033+0800 done dumping super_hero.user_info (1 document)
2018-08-20T15:42:47.034+0800 writing captured oplog to 
2018-08-20T15:42:47.036+0800 dumped 1 oplog entry

#查看備份的文件
[root@172-16-3-190 mongodb]# ls -lh /tmp/dump_mongo/
total 12K
drwxr-xr-x 2 root root 4.0K Aug 20 15:42 admin
-rw-r--r-- 1 root root 110 Aug 20 15:42 oplog.bson
drwxr-xr-x 2 root root 4.0K Aug 20 15:42 super_hero

#傳遞備份到準(zhǔn)備添加為secondary的節(jié)點(diǎn)上
[root@172-16-3-190 tmp]# scp -r -P22222 /tmp/dump_mongo/ liyingxiao@172.16.3.189:/tmp
標(biāo)簽MongoDB,添加,secondary,節(jié)點(diǎn),2種,方法,詳解

相關(guān)下載

查看所有評(píng)論+

網(wǎng)友評(píng)論

網(wǎng)友
您的評(píng)論需要經(jīng)過(guò)審核才能顯示

熱門閱覽

最新排行

公眾號(hào)

主站蜘蛛池模板: 日本无遮挡h肉动漫在线观看下载| 精品久久久久久久无码| 日本中文字幕在线电影| 杨贵妃艳史毛片在线播放免费观看| 国产精品va在线观看无码| 久久精品无码专区免费青青| 青青青视频在线| 性色av免费观看| 亚洲黄色a级片| 老司机亚洲精品| 波多野结衣乱码中文字幕| 国产精品成在线观看| 久久精品国产网红主播| 美国式禁忌23| 国语精品高清在线观看| 人妻aⅴ无码一区二区三区| 一本到在线观看视频| 深夜特黄a级毛片免费播放| 天天干天天干天天操| 亚洲成AV人片在线观看无码不卡| 黄色激情视频在线观看| 日韩精品极品视频在线观看免费| 国产人伦视频在线观看| 久久机热re这里只有精品15| 精品第一国产综合精品蜜芽| 在线亚洲人成电影网站色www| 九九久久国产精品| 精品视频一区二区三区| 国产精品自产拍高潮在线观看| 亚洲成熟人网站| 高high肉文| 天天爱添天天爱添天天爱添| 亚洲av永久无码嘿嘿嘿| 欧美黄色一级在线| 成年女人毛片免费视频| 亚洲欧美日韩综合俺去了| 香蕉在线视频播放| 天天想你在线视频免费观看| 久草手机在线播放| 竹菊影视国产精品| 国产欧美精品一区二区三区四区 |