10477777 发表于 2018-10-25 10:51:11

mongodb 副本集的维护(1)

  一、修改副本集中各成员的优先级:
  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.priority=100
  100
  shard1:PRIMARY> conf.members.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]
查看完整版本: mongodb 副本集的维护(1)