MongoDB副本集replica set(四)--成员配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB副本集replica set(四)--成员配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4572字,纯文字阅读大概需要7分钟。
内容图文
![MongoDB副本集replica set(四)--成员配置](/upload/InfoBanner/zyjiaocheng/526/c9d4ce33c0cd430a81e9c24ef9ee5b6d.jpg)
对于members[n]的定义:
n是members数组中的数组位置,数组以0开始,千万不能将其理解为“members[n]._id”的_id值。下面的成员配置都是这样理解。
例如,我要调整“192.168.10.43”的节点的优先级为2,因为该节点在数组索引的第1位(从0开始计算),故调整优先级的方法为:
STEP1:调整前,确认192.168.10.43节点在members数组中的位置:
rstest:PRIMARY> rs.config() { "_id" : "rstest", "version" : 11, "protocolVersion" : NumberLong(1), "writeConcernMajorityJournalDefault" : true, "members" : [ { "_id" : 0, "host" : "192.168.10.41:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 3, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 2, "host" : "192.168.10.43:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 0, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 3, "host" : "192.168.10.42:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 2, "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("5ef1b03c01bba8d9a6759c18") } } rstest:PRIMARY>View Code
STEP2:从上面可以看到,“192.168.10.43”位于数组的第1位,前面的“192.168.10.41”是第0个成员,调整优先级:
rstest:PRIMARY> cfg = rs.conf() rstest:PRIMARY> cfg.members[1].priority = 2 2 rstest:PRIMARY> rs.reconfig(cfg) { "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1593364371, 1), "signature" : { "hash" : BinData(0,"gU7HNe/7TCGjsdRB3bU8EWb4SSs="), "keyId" : NumberLong("6841443127941660675") } }, "operationTime" : Timestamp(1593364371, 1) } rstest:PRIMARY>
STEP3:调整后,发现“192.168.10.43”节点优先级由0变为了2:
rstest:PRIMARY> rs.conf() { "_id" : "rstest", "version" : 12, "protocolVersion" : NumberLong(1), "writeConcernMajorityJournalDefault" : true, "members" : [ { "_id" : 0, "host" : "192.168.10.41:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 3, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 2, "host" : "192.168.10.43:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 2, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 3, "host" : "192.168.10.42:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 2, "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("5ef1b03c01bba8d9a6759c18") } } rstest:PRIMARY>View Code
(二)防止次级(secondary)节点变为主节点
只需将节点的优先级调整为0即可
cfg = rs.conf() cfg.members[1].priority = 0 rs.reconfig(cfg)
(三)配置隐藏节点成员(Hidden Replica Set Member)
隐藏节点成员是副本集的一部分,但是隐藏节点不会被选举为主节点,且对客户端应用是不可见的。隐藏节点可以参与投票。
隐藏节点通常使用在延迟复制上。
如果要配置隐藏节点,需要将members[n].priority值设为0,将members[n].hidden设置为true。
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true rs.reconfig(cfg)
重新配置集合后,其它成员在使用isMaster或db.isMaster()输出中不会显示隐藏成员。
(四)配置延迟节点成员(Delayed Replica Set Member)
要配置延迟的辅助成员,需要将members[n].priority设置为0,将members[n].hidden设置为true,将members[n].slaveDelay值设置为延迟秒数。
例如,这里把节点0配置为延迟节点,延迟时间为3600s。
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true cfg.members[0].slaveDelay = 3600 rs.reconfig(cfg)
注意:延迟节点的延迟必须要oplog的窗口内,如果oplog短于members[n].slaveDelay窗口,延迟节点将不能成功复制。
(五)配置非投票节点(Non-Voting Replica Set Member)
mongoDB最多允许有50个节点,其中最多7个投票节点。要将成员配置为非投票节点,只需将votes和priority都设置为0。
cfg = rs.conf() cfg.members[n].votes = 0 cfg.members[n].priority = 0 rs.reconfig()
【完】
MongoDB副本集replica set(四)--成员配置
标签:none att time 将不 pre prot one timestamp bin
本文系统来源:https://www.cnblogs.com/lijiaman/p/13215500.html
内容总结
以上是互联网集市为您收集整理的MongoDB副本集replica set(四)--成员配置全部内容,希望文章能够帮你解决MongoDB副本集replica set(四)--成员配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。