<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          MongoDB最新4.2.7版本三分片集群修改IP實操演練

          共 3679字,需瀏覽 8分鐘

           ·

          2020-09-09 23:28


          背景

          重新組網(wǎng),需要對現(xiàn)有MongoDB分片集群服務器的IP進行更改,因此也需要對MongoDB分片集群的IP也進行相應的更新,而MongoDB分片集群的IP修改不能單純的通過配置來進行,需要一番折騰后才能正常更新,這里對整個MongoDB集群的IP修改過程做下記錄,希望對有同樣需求的小伙伴有所幫助。

          作者:依樂祝
          原文地址:https://www.cnblogs.com/yilezhu/p/13536628.html


          原有集群配置如下

          192.168.147.11192.168.147.16192.168.147.21
          mongosmongosmongos
          config serverconfig serverconfig server
          shard server1 主節(jié)點shard server1 副節(jié)點shard server1 仲裁
          shard server2 仲裁shard server2 主節(jié)點shard server2 副節(jié)點
          shard server3 副節(jié)點shard server3 仲裁shard server3 主節(jié)點

          這里的端口分配如下所示:

          mongos20000
          config server21000
          shard server127001
          shard server227002
          shard server327003

          IP修改對應關(guān)系如下:

          172.168.7.11172.168.7.11
          172.168.7.16172.168.7.16
          172.168.7.21172.168.7.21


          更改IP步驟

          升級過程是先升級?Config?服務,再分別升級三個?Shard?配置,最后修改一個?mongos?的路由。當然了,在開始之前需要確保MongDB分片集群都已經(jīng)停掉了。
          停掉的步驟也很簡單。?ps -ef | grep mongo?找到對應的線程id,然后?kill?掉即可。

          修改config 節(jié)點的IP

          • 用如下命令,以?standlone? 模式啟動一個?Config?服務

          /usr/mongod/bin/mongod --port 21000 --dbpath=/usr/mongod/data
          • 新打開一個shell,連接上這個config服務

          /usr/mongod/bin/mongo --port 21000
          • 進入到?local?數(shù)據(jù)庫查看?replset?集合,并修改對應的host

          use local
          db.system.replset.find()
          cfg = db.system.replset.findOne({_id: 'configs'})
          cfg.members[0].host = "172.168.7.11:21000"
          cfg.members[1].host = "172.168.7.16:21000"
          cfg.members[2].host = "172.168.7.21:21000"
          db.system.replset.update({_id: 'configs'}, cfg)
          db.system.replset.find()

          • 上面最后一行是把修改好的內(nèi)容查出來以便于查看下修改是否成功。

          • 按照同樣的步驟以?standlone?模式啟動啟動另外兩個config節(jié)點,并修改另外兩個config服務節(jié)點的信息。

          • 停掉這三個以?standlone?模式啟動的config服務節(jié)點

          • 分別按照正常集群模式啟動這三個config節(jié)點

          /usr/mongod/bin/mongod -f /usr/mongod/conf/config.conf
          • 看到如下所示,說明選舉成功了。

          • 登錄到?primary?節(jié)點,修改分片信息

          use config

          cfg=db.shards.findOne({_id:'shard1'})
          cfg.host="shard1/172.168.7.11:27001,172.168.7.16:27001"
          db.shards.update({_id:'shard1'},cfg)
          cfg = db.shards.findOne({_id: 'shard2'})

          cfg.host = "shard2/172.168.7.16:27002,172.168.7.21:27002"
          db.shards.update({_id: 'shard2'}, cfg)

          cfg = db.shards.findOne({_id: 'shard3'})
          cfg.host = "shard3/172.168.7.11:27003,172.168.7.21:27003"
          db.shards.update({_id: 'shard3'}, cfg)
          • 至此config服務節(jié)點的修改完成,接下來進行shard節(jié)點的修改

          修改shard分片的IP信息

          • 以?standlone?模式啟動分片1,然后登錄進去

          /usr/mongod/bin/mongod --port 27001 --dbpath=/usr/mongod/shard1/
          /usr/mongod/bin/mongo --port 27001
          • 切換到?admin?數(shù)據(jù)庫的?version?集合查看下?config?配置信息,如果有?_id:shardIdentity?的數(shù)據(jù)則進行下更新,當然這里如果有?_id:minOpTimeRecovery?的數(shù)據(jù)也需要更新

          use admin
          db.system.version.find()
          db.system.version.update({"_id" : "shardIdentity"},{"$set":{"configsvrConnectionString" : "configs/172.168.7.11:21000,172.168.7.16:21000,172.168.7.21:21000"}})
          db.system.version.update({"_id" : "minOpTimeRecovery"},{"$set":{"configsvrConnectionString" : "configs/172.168.7.11:21000,172.168.7.16:21000,172.168.7.21:21000"}})

          • 修改復制集的配置信息,復制集的配置信息都保存再?local?庫的?system.replset?集合中

          use local
          cfg = db.system.replset.findOne({_id: 'shard1'})
          cfg.members[0].host="172.168.7.11:27003"
          cfg.members[1].host="172.168.7.16:27003"
          cfg.members[2].host="172.168.7.21:27003"
          db.system.replset.update({_id:'shard3'},cfg)
          db.system.replset.findOne({_id: 'shard3'})
          • 重復上述步驟分別對shaed2,shard3進行ip的更改

          • 最后按照集群的模式啟動你的三個分片即可。

          /usr/mongod/bin/mongod -f /usr/mongod/conf/shard1.conf


          修改mongos服務的路由信息

          • 用vim打開mongos的配置文件,修改對應的?configserver?配置項為最新的configderver地址

          vim /usr/mongod/conf/mongos.conf

          • 按集群模式啟動mongos服務即可

          /usr/mongod/bin/mongos -f /usr/mongod/conf/mongos.conf
          • 登錄驗證下即可

          /usr/mongod/bin/mongo --port 20000


          至此,MongoDB分片集群IP修改結(jié)束。

          往期精彩回顧




          【推薦】.NET Core開發(fā)實戰(zhàn)視頻課程?★★★

          .NET Core實戰(zhàn)項目之CMS 第一章 入門篇-開篇及總體規(guī)劃

          【.NET Core微服務實戰(zhàn)-統(tǒng)一身份認證】開篇及目錄索引

          Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)

          .NET Core中的一個接口多種實現(xiàn)的依賴注入與動態(tài)選擇看這篇就夠了

          10個小技巧助您寫出高性能的ASP.NET Core代碼

          用abp vNext快速開發(fā)Quartz.NET定時任務管理界面

          在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務輕松實現(xiàn)作業(yè)調(diào)度

          現(xiàn)身說法:實際業(yè)務出發(fā)分析百億數(shù)據(jù)量下的多表查詢優(yōu)化

          關(guān)于C#異步編程你應該了解的幾點建議

          C#異步編程看這篇就夠了

          給我好看

          您看此文用

          ??·?

          秒,轉(zhuǎn)發(fā)只需1秒呦~

          好看你就

          點點


          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一卡二卡成人在线 | 国产伦精品一区二区三区妓女下载 | 日韩高清一级片 | 国产男女无套免费网站u | 欧美精品一区二区三区使用方法 |