设置隐藏节点和不可投票节点
2023-04-24 08:53 abce 阅读(139) 评论(0) 编辑 收藏 举报配置隐藏节点
复制集中隐藏节点不能变成主,但是可以参加选举。
隐藏节点,最常用的场景是延迟复制。如果不想某个节点变成主节点,将priority设置成0即可
如果设置了settings.chainingAllowed,支持辅助节点从另外的复制节点做数据同步,mongodb默认是优先讯在非隐藏节点来做数据同步。如果想让辅助节点从隐藏节点同步数据,就要设置replSetSyncFrom做相应的修改。
设置隐藏节点,要将members[n].priority设置为0;members[n].hidden设置成true:
1 2 3 4 5 6 | { "_id" : <num> "host" : < hostname :port>, "priority" : 0, "hidden" : true } |
配置过程:
1 2 3 4 | cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true rs.reconfig(cfg) |
members的数组下表是从0开始,不要与members[n]._id混淆了。
如果是新加成员
1 | rs.add( { host: "192.168.137.11:27017" , priority: 0, hidden: true } ) |
配置非不可投票节点
设置不可投票节点,要将members[n].priority设置为0;members[n].votes设置为0
1 2 3 4 | cfg = rs.conf(); cfg.members[n].votes = 0; cfg.members[n].priority = 0; rs.reconfig(cfg); |
如果是新加成员
1 | rs.add( { host: "192.168.137.11:27017" , priority: 0, votes: 0 } ) |
其它:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | > cfg=rs.conf() { "_id" : "lq_mongo_rs" , "version" : 1, "term" : 9, "members" : [ { "_id" : 0, "host" : "192.168.137.54:27017" , "arbiterOnly" : false , "buildIndexes" : true , "hidden" : false , "priority" : 1, "tags" : { }, "secondaryDelaySecs" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : "192.168.137.55:27017" , "arbiterOnly" : false , "buildIndexes" : true , "hidden" : false , "priority" : 1, "tags" : { }, "secondaryDelaySecs" : NumberLong(0), "votes" : 1 }, { "_id" : 2, "host" : "192.168.137.56:27017" , "arbiterOnly" : false , "buildIndexes" : true , "hidden" : false , "priority" : 1, "tags" : { }, "secondaryDelaySecs" : NumberLong(0), "votes" : 1 } ], "protocolVersion" : NumberLong(1), "writeConcernMajorityJournalDefault" : true , "settings" : { "chainingAllowed" : true , "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "catchUpTimeoutMillis" : -1, "catchUpTakeoverDelayMillis" : 30000, "getLastErrorModes" : { }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ObjectId( "63103236dd0aac4d38f820c0" ) } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2022-04-24 Warning: the "mongo" shell has been superseded by "mongosh"
2022-04-24 MongoDB not authorized on admin to execute command { replSetGetStatus: 1.0 }
2018-04-24 oradim新建服务后,登录数据库报ORA-12560错误
2017-04-24 dbms_monitor开启/关闭会话跟踪