设为首页 收藏本站
查看: 942|回复: 0

[经验分享] mongodb 副本集的维护(1)

[复制链接]

尚未签到

发表于 2018-10-25 10:51:11 | 显示全部楼层 |阅读模式
  一、修改副本集中各成员的优先级:
  shard1:PRIMARY> conf=rs.conf()
  {
  "_id" : "shard1",
  "version" : 3,
  "protocolVersion" : NumberLong(1),
  "members" : [
  {
  "_id" : 0,
  "host" : "mongo01-jp:27027",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : NumberLong(0),
  "votes" : 1
  },
  {
  "_id" : 1,
  "host" : "mongo02-jp:27027",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : NumberLong(0),
  "votes" : 1
  },
  {
  "_id" : 2,
  "host" : "mongo03-jp:27027",
  "arbiterOnly" : true,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : NumberLong(0),
  "votes" : 1
  }
  ],
  "settings" : {
  "chainingAllowed" : true,
  "heartbeatIntervalMillis" : 2000,
  "heartbeatTimeoutSecs" : 10,
  "electionTimeoutMillis" : 10000,
  "catchUpTimeoutMillis" : 2000,
  "getLastErrorModes" : {
  },
  "getLastErrorDefaults" : {
  "w" : 1,
  "wtimeout" : 0
  },
  "replicaSetId" : ObjectId("5850deb0205cd94104cd9a38")
  }
  }
  shard1:PRIMARY> conf.members[0].priority=100
  100
  shard1:PRIMARY> conf.members[1].priority=90
  90
  shard1:PRIMARY> rs.reconfig(conf)
  { "ok" : 1 }
  shard1:PRIMARY> rs.conf()
  {
  "_id" : "shard1",
  "version" : 4,
  "protocolVersion" : NumberLong(1),
  "members" : [
  {
  "_id" : 0,
  "host" : "mongo01-jp:27027",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 100,
  "tags" : {
  },
  "slaveDelay" : NumberLong(0),
  "votes" : 1
  },
  {
  "_id" : 1,
  "host" : "mongo02-jp:27027",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 90,
  "tags" : {
  },
  "slaveDelay" : NumberLong(0),
  "votes" : 1
  },
  {
  "_id" : 2,
  "host" : "mongo03-jp:27027",
  "arbiterOnly" : true,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : NumberLong(0),
  "votes" : 1
  }
  ],
  "settings" : {
  "chainingAllowed" : true,
  "heartbeatIntervalMillis" : 2000,
  "heartbeatTimeoutSecs" : 10,
  "electionTimeoutMillis" : 10000,
  "catchUpTimeoutMillis" : 2000,
  "getLastErrorModes" : {
  },
  "getLastErrorDefaults" : {
  "w" : 1,
  "wtimeout" : 0
  },
  "replicaSetId" : ObjectId("5850deb0205cd94104cd9a38")
  }
  }
  shard1:PRIMARY>
  关于优先级范围从0 至 1000 (3.2以上版本) ,优先级越大,越可能成为primary;若优先级为0,则该节点无资格参与primary的选举。
  如果希望某节点不参与primary的选举有两种方法: 1、将该节点优先级设置为0;2、rs.freeze(30) 在cluster选举primary时,将该节点暂时冻结30S。
  如果希望将本primary节点降为secondary状态,可以执行 rs.stepDown() 。
  二、在副本集中删除成员、重新添加成员
  shard2:PRIMARY> rs.status()
  {
  "set" : "shard2",
  "date" : ISODate("2016-12-14T06:12:11.986Z"),
  "myState" : 1,
  "term" : NumberLong(1),
  "heartbeatIntervalMillis" : NumberLong(2000),
  "optimes" : {
  "lastCommittedOpTime" : {
  "ts" : Timestamp(1481695926, 1),
  "t" : NumberLong(1)
  },
  "appliedOpTime" : {
  "ts" : Timestamp(1481695926, 1),
  "t" : NumberLong(1)
  },
  "durableOpTime" : {
  "ts" : Timestamp(1481695926, 1),
  "t" : NumberLong(1)
  }
  },
  "members" : [
  {
  "_id" : 0,
  "name" : "mongo02-jp:27028",
  "health" : 1,
  "state" : 1,
  "stateStr" : "PRIMARY",
  "uptime" : 1128,
  "optime" : {
  "ts" : Timestamp(1481695926, 1),
  "t" : NumberLong(1)
  },
  "optimeDate" : ISODate("2016-12-14T06:12:06Z"),
  "electionTime" : Timestamp(1481695445, 2),
  "electionDate" : ISODate("2016-12-14T06:04:05Z"),
  "configVersion" : 4,
  "self" : true
  },
  {
  "_id" : 1,
  "name" : "mongo01-jp:27028",
  "health" : 1,
  "state" : 2,
  "stateStr" : "SECONDARY",
  "uptime" : 464,
  "optime" : {
  "ts" : Timestamp(1481695926, 1),
  "t" : NumberLong(1)
  },
  "optimeDurable" : {
  "ts" : Timestamp(1481695926, 1),
  "t" : NumberLong(1)
  },
  "optimeDate" : ISODate("2016-12-14T06:12:06Z"),
  "optimeDurableDate" : ISODate("2016-12-14T06:12:06Z"),
  "lastHeartbeat" : ISODate("2016-12-14T06:12:10.206Z"),
  "lastHeartbeatRecv" : ISODate("2016-12-14T06:12:11.202Z"),
  "pingMs" : NumberLong(0),
  "syncingTo" : "mongo02-jp:27028",
  "configVersion" : 4
  },
  {
  "_id" : 2,
  "name" : "mongo03-jp:27028",
  "health" : 1,
  "state" : 7,
  "stateStr" : "ARBITER",
  "uptime" : 439,
  "lastHeartbeat" : ISODate("2016-12-14T06:12:10.205Z"),
  "lastHeartbeatRecv" : ISODate("2016-12-14T06:12:10.125Z"),
  "pingMs" : NumberLong(0),
  "configVersion" : 4
  }
  ],
  "ok" : 1
  }
  shard2:PRIMARY> rs.remove("mongo01-jp:27028")
  { "ok" : 1 }
  shard2:PRIMARY> rs.remove("mongo03-jp:27028")
  { "ok" : 1 }
  shard2:PRIMARY> rs.status()
  {
  "set" : "shard2",
  "date" : ISODate("2016-12-14T06:13:18.227Z"),
  "myState" : 1,
  "term" : NumberLong(1),
  "heartbeatIntervalMillis" : NumberLong(2000),
  "optimes" : {
  "lastCommittedOpTime" : {
  "ts" : Timestamp(1481695994, 1),
  "t" : NumberLong(1)
  },
  "appliedOpTime" : {
  "ts" : Timestamp(1481695994, 1),
  "t" : NumberLong(1)
  },
  "durableOpTime" : {
  "ts" : Timestamp(1481695994, 1),
  "t" : NumberLong(1)
  }
  },
  "members" : [
  {
  "_id" : 0,
  "name" : "mongo02-jp:27028",
  "health" : 1,
  "state" : 1,
  "stateStr" : "PRIMARY",
  "uptime" : 1195,
  "optime" : {
  "ts" : Timestamp(1481695994, 1),
  "t" : NumberLong(1)
  },
  "optimeDate" : ISODate("2016-12-14T06:13:14Z"),
  "electionTime" : Timestamp(1481695445, 2),
  "electionDate" : ISODate("2016-12-14T06:04:05Z"),
  "configVersion" : 6,
  "self" : true
  }
  ],
  "ok" : 1
  }
  shard2:PRIMARY> rs.add("mongo03-jp:27028")
  { "ok" : 1 }
  shard2:PRIMARY> rs.addArb("mongo01-jp:27028")
  { "ok" : 1 }
  shard2:PRIMARY> rs.status()
  {
  "set" : "shard2",
  "date" : ISODate("2016-12-14T06:39:40.718Z"),
  "myState" : 1,
  "term" : NumberLong(1),
  "heartbeatIntervalMillis" : NumberLong(2000),
  "optimes" : {
  "lastCommittedOpTime" : {
  "ts" : Timestamp(1481697576, 1),
  "t" : NumberLong(1)
  },
  "appliedOpTime" : {
  "ts" : Timestamp(1481697576, 1),
  "t" : NumberLong(1)
  },
  "durableOpTime" : {
  "ts" : Timestamp(1481697576, 1),
  "t" : NumberLong(1)
  }
  },
  "members" : [
  {
  "_id" : 0,
  "name" : "mongo02-jp:27028",
  "health" : 1,
  "state" : 1,
  "stateStr" : "PRIMARY",
  "uptime" : 2777,
  "optime" : {
  "ts" : Timestamp(1481697576, 1),
  "t" : NumberLong(1)
  },
  "optimeDate" : ISODate("2016-12-14T06:39:36Z"),
  "electionTime" : Timestamp(1481695445, 2),
  "electionDate" : ISODate("2016-12-14T06:04:05Z"),
  "configVersion" : 9,
  "self" : true
  },
  {
  "_id" : 1,
  "name" : "mongo03-jp:27028",
  "health" : 1,
  "state" : 2,
  "stateStr" : "SECONDARY",
  "uptime" : 1034,
  "optime" : {
  "ts" : Timestamp(1481697576, 1),
  "t" : NumberLong(1)
  },
  "optimeDurable" : {
  "ts" : Timestamp(1481697576, 1),
  "t" : NumberLong(1)
  },
  "optimeDate" : ISODate("2016-12-14T06:39:36Z"),
  "optimeDurableDate" : ISODate("2016-12-14T06:39:36Z"),
  "lastHeartbeat" : ISODate("2016-12-14T06:39:38.838Z"),
  "lastHeartbeatRecv" : ISODate("2016-12-14T06:39:39.594Z"),
  "pingMs" : NumberLong(0),
  "syncingTo" : "mongo02-jp:27028",
  "configVersion" : 9
  },
  {
  "_id" : 2,
  "name" : "mongo01-jp:27028",
  "health" : 1,
  "state" : 7,
  "stateStr" : "ARBITER",
  "uptime" : 1128,
  "lastHeartbeat" : ISODate("2016-12-14T06:39:39.053Z"),
  "lastHeartbeatRecv" : ISODate("2016-12-14T06:39:36.708Z"),
  "pingMs" : NumberLong(0),
  "configVersion" : 9
  }
  ],
  "ok" : 1
  }


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626261-1-1.html 上篇帖子: mongodb 数据格式补充 下篇帖子: mongodb sharding maintenance (分片维护1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表