mongodb 4.X
mongodb是一个副本架构,在运维中,可能有涉及到节点的增加和删除操作,这里是描述mongodb节点的正常删除和增加。
注:这是一个客户的模拟案例,mongodb集群中,3个节点,有个节点需要重新安装,整个过程,涉及到节点的删除和增加。
主机 IP地址 端口
serv-node1 172.16.0.15 分片端口:27019、27020、27021
config端口:27017
mongos路由端口:27018
serv-node2 172.18.0.12 分片端口:27019、27020、27021
config端口:27017
mongos路由端口:27018
serv-node3 172.19.0.2 分片端口:27019、27020、27021
config端口:27017
mongos路由端口:27018
//节点配置:
{
"_id" : 0,
"host" : "serv-node1:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "serv-node2:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "serv-node3:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 2,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
//计划:保留节点2和3,删除节点1
//保留需要的节点配置,包括节点2、3,不要包含节点1的配置:
config = {_id:"configRS", "configsvr":true,members:[{_id:1,host:'serv-node2:27017',priority :1},{_id:2,host:'serv-node3:27017',priority :1}]};
//使配置生效 :
rs.reconfig(config);
//查看节点配置:
rs.config();
//查看节点状态 :
rs.status();
具体操作如下: //确认当前的运行状态: //有3个节点, //节点1:serv-node1:27017 //节点2:serv-node2:27017 //节点3:serv-node3:27017
MongoDB Enterprise configRS:PRIMARY> rs.config()rs.config()
{
"_id" : "configRS",
"version" : 2,
"configsvr" : true,
"protocolVersion" : NumberLong(1),
"writeConcernMajorityJournalDefault" : true,
"members" : [
{
"_id" : 0,
"host" : "serv-node1:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "serv-node2:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "serv-node3: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("5ff56612374f9741a0bfbc6a")
}
}
//我们保留节点2和节点3,定义好变量config