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

          軟件下載吧

          當前位置:軟件下載吧 > 數據庫 > DB2 > MongoDB添加secondary節點的2種方法詳解

          MongoDB添加secondary節點的2種方法詳解

          時間:2024-02-24 17:17作者:下載吧人氣:34

          前言

          前段時間維護的一個事業群的其中一條業務線的開發找到運維,提出來了一個MongoDB的優化問題,那段時間MongoDB正在從op管理移交給db進行維護,整個部門都對MongoDB的運維經驗缺乏,MongoDB的優化更是一個未知的挑戰。當op找到我,核心系統的公共服務平臺用來進行短信服務的MongoDB集群想進行一次優化,我當仁不能讓的承擔了這項我都覺得可能搞不定的任務。

          開發找到我提出了兩點兒問題,并尋求運維團隊解決這個問題,不過最終在我的理性的思考和他感性的思維碰撞下,最終我還是以勝利者的姿態勝出。我成功說服了他,并解答了他一些疑問,得到了滿意的答復后再也沒找我了。當然這里肯定不會就憑幾句話,任你理論再怎么豐富,態度如何曖昧,不拿點兒真實數據,做點兒什么,怎么能說服經驗豐富的開發認定的事兒。溝通了大半天,占據了我白天的工作時間,不過他提出來的問題還是很值得討論。

          根據開發的邏輯,是想橫向擴充secondary節點,把其他要求不高的業務放到secondary節點上,減輕primary節點的壓力,達到部分讀寫分離,使得主要業務優先保障。我覺得這個出發點是好的,但并沒有就此作出回應,其一是他沒有認識到這個他認為的有延遲并不是數據庫集群的問題(這里不詳細講述排查的過程,下一篇文章會講些MongoDB的寫入與業務邏輯),其二是我們確實缺乏有效的資源硬件去進行擴充節點。

          不同的業務場景應用不同的架構策略,擴充secondary節點有時候不能解決問題,尤其是那些實時性很高的業務,但有時候擴充secondary節點確實有效,比如硬件升級后需要做的服務遷移,需要在線擴充secondary節點來滿足業務需要的更高的硬件要求。

          MongoDB的secondary節點的擴充,我總結起來有兩種方式:

          1、rs.add()直接擴充

          2、一致性備份后進行擴充(個人叫法)

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

          具體的實現方式是登陸擴充節點的機器,編輯好配置文件,并建立相應的目錄和權限,啟動MongoDB實例就可以了。

          需要注意的一點兒是這種擴充方式要保證同步源的數據量級,即保證在同步完數據前MongoDB的oplog不會被覆蓋,這點兒類似與MySQL的redo log日志,如果被覆蓋那么同步的數據出現不一致,導致同步失敗。

          需要注意的另一點是同步數據的過程中,當集群數據達到一定量級時,同步數據的大小很大就會對網絡造成一定的壓力,可能對業務的核心交換機造成影響,因此需要用TC工具對同步流量做限速處理。這個限速需要考慮同步源可能不會是primary,也可能是同樣角色的secondary節點,令外限速同步勢必會增大同步時間,這個會增大oplog被覆蓋的概率,具體限速值還是要經過計算才能把握好。

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

            a)primary節點上進行一致性快照備份

            b)secondary節點上進行一致性快照恢復,僅僅對數據部分進行恢復,暫時不要對oplog進行恢復

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

               d)初始化local數據庫的其他兩個集合db.replset.election,db.system.replset

            e)修改數據庫配置并重啟數據庫(這一步操作前實例不開啟認證模式、復制集的配置),rs.add(“HOST_NAME:PORT”)將secondary添加進集群并觀察同步狀態、校驗數據的完整和一致性

          實踐的詳細實踐過程如下(僅供參考交流,生產環境慎用):

          1、primary上進行一致性快照備份

          #primary節點或者其他secondary節點備份數據
          [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
          
          #傳遞備份到準備添加為secondary的節點上
          [root@172-16-3-190 tmp]# scp -r -P22222 /tmp/dump_mongo/ liyingxiao@172.16.3.189:/tmp
          標簽MongoDB,添加,secondary,節點,2種,方法,詳解

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 久久99国产精一区二区三区| 亚洲国产综合精品一区在线播放| 精品一区二区三区水蜜桃| 国产美女露脸口爆吞精一区二区| 在线播放一区二区| 国产免费无码一区二区| 国产伦精品一区二区三区免.费 | 波多野结衣高清一区二区三区| 在线精品亚洲一区二区| 无码精品一区二区三区免费视频| 日本精品夜色视频一区二区 | 熟女大屁股白浆一区二区| 精品国产一区二区三区www| 99精品一区二区三区无码吞精| 国产免费一区二区三区在线观看| 久久久久国产一区二区三区| 日本精品少妇一区二区三区| 国产成人av一区二区三区在线| 国产乱人伦精品一区二区在线观看 | 熟女精品视频一区二区三区| 精品一区二区久久| 亚洲老妈激情一区二区三区| 精品国产日韩亚洲一区| 国产精品无码一区二区在线观一 | 久久久久久免费一区二区三区| 国产精品99无码一区二区| aⅴ一区二区三区无卡无码| 一区二区三区在线观看视频 | 亚洲码一区二区三区| 久久久久人妻精品一区| 亚洲福利电影一区二区?| 中文字幕无线码一区二区 | 一区二区三区亚洲视频| 一区二区三区伦理高清| 91精品一区国产高清在线| 中文字幕人妻丝袜乱一区三区| 在线精品亚洲一区二区三区| 亚洲AV无码一区二区三区系列| 久久4k岛国高清一区二区| 91精品乱码一区二区三区| 福利国产微拍广场一区视频在线|