<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副本集主從切換

          共 8055字,需瀏覽 17分鐘

           ·

          2021-12-20 17:16

          點(diǎn)擊上方藍(lán)字關(guān)注我

          前文已有mongodb副本集搭建及添加節(jié)點(diǎn)的記錄

          mongodb 4.0副本集搭建

          mongodb副本集添加節(jié)點(diǎn)

          本次進(jìn)行主從切換及刪除節(jié)點(diǎn)的操作。

          1. 主從切換

          1.1 查詢當(dāng)前節(jié)點(diǎn)信息及狀態(tài)

          使用rs.status()命令可以查看到當(dāng)前副本集各節(jié)點(diǎn)信息及角色

          節(jié)點(diǎn)id
          節(jié)點(diǎn)
          角色
          node0
          192.168.56.198:27017
          PRIMARY
          node1
          192.168.56.199:27018ARBITER
          node2
          192.168.56.197:27017SECONDARY
          node3
          192.168.56.199:27017
          SECONDARY


          test12:PRIMARY> rs.status(){  "set" : "test12",  "date" : ISODate("2021-12-16T13:45:28.261Z"),  "myState" : 1,  "term" : NumberLong(3),  "syncingTo" : "",  "syncSourceHost" : "",  "syncSourceId" : -1,  "heartbeatIntervalMillis" : NumberLong(2000),  "majorityVoteCount" : 3,  "writeMajorityCount" : 3,  "optimes" : {    "lastCommittedOpTime" : {      "ts" : Timestamp(1639662318, 1),      "t" : NumberLong(3)    },    "lastCommittedWallTime" : ISODate("2021-12-16T13:45:18.626Z"),    "readConcernMajorityOpTime" : {      "ts" : Timestamp(1639662318, 1),      "t" : NumberLong(3)    },    "readConcernMajorityWallTime" : ISODate("2021-12-16T13:45:18.626Z"),    "appliedOpTime" : {      "ts" : Timestamp(1639662318, 1),      "t" : NumberLong(3)    },    "durableOpTime" : {      "ts" : Timestamp(1639662318, 1),      "t" : NumberLong(3)    },    "lastAppliedWallTime" : ISODate("2021-12-16T13:45:18.626Z"),    "lastDurableWallTime" : ISODate("2021-12-16T13:45:18.626Z")  },  "lastStableRecoveryTimestamp" : Timestamp(1639662308, 1),  "lastStableCheckpointTimestamp" : Timestamp(1639662308, 1),  "electionCandidateMetrics" : {    "lastElectionReason" : "priorityTakeover",    "lastElectionDate" : ISODate("2021-12-14T15:24:57.309Z"),    "electionTerm" : NumberLong(3),    "lastCommittedOpTimeAtElection" : {      "ts" : Timestamp(1639495485, 1),      "t" : NumberLong(2)    },    "lastSeenOpTimeAtElection" : {      "ts" : Timestamp(1639495485, 1),      "t" : NumberLong(2)    },    "numVotesNeeded" : 3,    "priorityAtElection" : 15,    "electionTimeoutMillis" : NumberLong(10000),    "priorPrimaryMemberId" : 3,    "numCatchUpOps" : NumberLong(0),    "newTermStartDate" : ISODate("2021-12-14T15:24:57.321Z"),    "wMajorityWriteAvailabilityDate" : ISODate("2021-12-14T15:24:58.285Z")  },  "electionParticipantMetrics" : {    "votedForCandidate" : true,    "electionTerm" : NumberLong(2),    "lastVoteDate" : ISODate("2021-12-14T10:36:13.063Z"),    "electionCandidateMemberId" : 3,    "voteReason" : "",    "lastAppliedOpTimeAtElection" : {      "ts" : Timestamp(1639478166, 1),      "t" : NumberLong(1)    },    "maxAppliedOpTimeInSet" : {      "ts" : Timestamp(1639478166, 1),      "t" : NumberLong(1)    },    "priorityAtElection" : 1  },  "members" : [    {      "_id" : 0,      "name" : "192.168.56.198:27017",      "health" : 1,      "state" : 1,      "stateStr" : "PRIMARY",      "uptime" : 186852,      "optime" : {        "ts" : Timestamp(1639662318, 1),        "t" : NumberLong(3)      },      "optimeDate" : ISODate("2021-12-16T13:45:18Z"),      "syncingTo" : "",      "syncSourceHost" : "",      "syncSourceId" : -1,      "infoMessage" : "",      "electionTime" : Timestamp(1639495497, 1),      "electionDate" : ISODate("2021-12-14T15:24:57Z"),      "configVersion" : 7,      "self" : true,      "lastHeartbeatMessage" : ""    },    {??????"_id"?:?1,      "name" : "192.168.56.199:27018",      "health" : 1,      "state" : 7,      "stateStr" : "ARBITER",      "uptime" : 186375,      "lastHeartbeat" : ISODate("2021-12-16T13:45:27.183Z"),      "lastHeartbeatRecv" : ISODate("2021-12-16T13:45:26.984Z"),      "pingMs" : NumberLong(0),      "lastHeartbeatMessage" : "",      "syncingTo" : "",      "syncSourceHost" : "",      "syncSourceId" : -1,      "infoMessage" : "",      "configVersion" : 7    },    {??????"_id"?:?2,      "name" : "192.168.56.197:27017",      "health" : 1,      "state" : 2,      "stateStr" : "SECONDARY",      "uptime" : 185329,      "optime" : {        "ts" : Timestamp(1639662318, 1),        "t" : NumberLong(3)      },      "optimeDurable" : {        "ts" : Timestamp(1639662318, 1),        "t" : NumberLong(3)      },      "optimeDate" : ISODate("2021-12-16T13:45:18Z"),      "optimeDurableDate" : ISODate("2021-12-16T13:45:18Z"),      "lastHeartbeat" : ISODate("2021-12-16T13:45:27.463Z"),      "lastHeartbeatRecv" : ISODate("2021-12-16T13:45:26.387Z"),      "pingMs" : NumberLong(1),      "lastHeartbeatMessage" : "",      "syncingTo" : "192.168.56.198:27017",      "syncSourceHost" : "192.168.56.198:27017",      "syncSourceId" : 0,      "infoMessage" : "",      "configVersion" : 7    },    {??????"_id"?:?3,      "name" : "192.168.56.199:27017",      "health" : 1,      "state" : 2,      "stateStr" : "SECONDARY",      "uptime" : 12079,      "optime" : {        "ts" : Timestamp(1639662318, 1),        "t" : NumberLong(3)      },      "optimeDurable" : {        "ts" : Timestamp(1639662318, 1),        "t" : NumberLong(3)      },      "optimeDate" : ISODate("2021-12-16T13:45:18Z"),      "optimeDurableDate" : ISODate("2021-12-16T13:45:18Z"),      "lastHeartbeat" : ISODate("2021-12-16T13:45:28.253Z"),      "lastHeartbeatRecv" : ISODate("2021-12-16T13:45:27.555Z"),      "pingMs" : NumberLong(0),      "lastHeartbeatMessage" : "",      "syncingTo" : "192.168.56.198:27017",      "syncSourceHost" : "192.168.56.198:27017",      "syncSourceId" : 0,      "infoMessage" : "",      "configVersion" : 7    }  ],  "ok" : 1,  "$clusterTime" : {    "clusterTime" : Timestamp(1639662318, 1),    "signature" : {      "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),      "keyId" : NumberLong(0)    }  },  "operationTime" : Timestamp(1639662318, 1)}


          1.2 切換主庫

          將主庫切換至node3節(jié)點(diǎn)具體步驟為:

          • ? 查看當(dāng)前配置

          • 調(diào)整node3節(jié)點(diǎn)的權(quán)重

          • 重新加載配置

          因默認(rèn)情況下,各節(jié)點(diǎn)的權(quán)重都為1,因此可以調(diào)整需要切換為主庫的節(jié)點(diǎn)的權(quán)重為較大的值(建議超過節(jié)點(diǎn)數(shù))

          test12:PRIMARY> rs.config(){  "_id" : "test12",  "version" : 9,  "protocolVersion" : NumberLong(1),  "writeConcernMajorityJournalDefault" : true,  "members" : [    {      "_id" : 0,      "host" : "192.168.56.198:27017",      "arbiterOnly" : false,      "buildIndexes" : true,      "hidden" : false,      "priority" : 1,      "tags" : {
          }, "slaveDelay" : NumberLong(0), "votes" : 1 }, {??????"_id"?:?1, "host" : "192.168.56.199:27018", "arbiterOnly" : true, "buildIndexes" : true, "hidden" : false, "priority" : 0, "tags" : {
          }, "slaveDelay" : NumberLong(0), "votes" : 1 }, {??????"_id"?:?2, "host" : "192.168.56.197:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : {
          }, "slaveDelay" : NumberLong(0), "votes" : 1 }, {??????"_id"?:?3, "host" : "192.168.56.199:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : {
          }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "catchUpTimeoutMillis" : -1, "catchUpTakeoverDelayMillis" : 30000, "getLastErrorModes" : {
          }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ObjectId("61b86af0a21015e69623e18d") }}

          將node3的節(jié)點(diǎn)的權(quán)重改為10

          var cfg = rs.conf()cfg.members[3].priority?=?10

          重新加載配置,選主

          rs.reconfig(cfg)

          通常1分鐘內(nèi)完成切換。

          PS:也可以通過rs.stepDown()

          PRIMARY> rs.stepDown()       //rs.stepDown(30)   單位:S
          這個命令會讓primary降級為Secondary節(jié)點(diǎn),并維持60s,如果這段時間內(nèi)沒有新的primary被選舉出來,這個節(jié)點(diǎn)可以要求重新進(jìn)行選舉

          ?

          2. 剔除節(jié)點(diǎn)

          剔除的節(jié)點(diǎn)為SECONDARY或ARBITER,可以執(zhí)行通過rs.remove() 命令剔除對應(yīng)節(jié)點(diǎn),如為PRIMARY節(jié)點(diǎn),則先進(jìn)行主從切換,再剔除。
          test12:PRIMARY>?rs.remove("192.168.56.199:27018"){  "ok" : 1,  "$clusterTime" : {    "clusterTime" : Timestamp(1639683041, 1),    "signature" : {      "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),      "keyId" : NumberLong(0)    }  },  "operationTime" : Timestamp(1639683041, 1)}
          往期精彩回顧

          1.??MySQL高可用之MHA集群部署

          2.??mysql8.0新增用戶及加密規(guī)則修改的那些事

          3.? 比hive快10倍的大數(shù)據(jù)查詢利器-- presto

          4. ?監(jiān)控利器出鞘:Prometheus+Grafana監(jiān)控MySQL、Redis數(shù)據(jù)庫

          5.? PostgreSQL主從復(fù)制--物理復(fù)制

          6.??MySQL傳統(tǒng)點(diǎn)位復(fù)制在線轉(zhuǎn)為GTID模式復(fù)制

          7.??MySQL敏感數(shù)據(jù)加密及解密

          8.??MySQL數(shù)據(jù)備份及還原(一)

          9.??MySQL數(shù)據(jù)備份及還原(二)

          掃碼關(guān)注?????


          瀏覽 59
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  一级a一级a免费观看视频Al明星 | 很很日| 亚洲黄视频在线播放网址 | 欧美日韩高清免费观看一区二区三区四区 | 欧美毛片大片在线关看 |