每期一个小窍门: 灰度重启 mongodb 复制集
k8s/非容器化 的mongodb复制集的灰度重启
·
首先看mongodb 是否k8s托管, 如果非容器化的 直接跳过任何容器命令
需要进入节点, 依次灰度关闭复制集群的mongo 不能直接delete pod
每次关闭必须要等待上一个关闭的节点上线, 并重新选举完成, 去每个节点一次关闭
分别进入 0/1/2 节点
kubectl exec -n xxx weintell mongodb-0 -it -- /bin/sh
在每个pod内 执行shutdown命令
# 切换admin数据库
use admin
# 执行关机命令
db.runCommand("shutdown")
注意: 如果提示没有后备选举节点 就等待被删除的节点重新上线为secondary
mmm:PRIMARY> db.runCommand("shutdown")
{
"operationTime" : Timestamp(1659338993, 1),
"ok" : 0,
"errmsg" : "No electable secondaries caught up as of 2022-08-01T07:30:05.009+0000. Please use the replSetStepDown command with the argument {force: true} to force node to step down.",
"code" : 262,
"codeName" : "ExceededTimeLimit",
"$clusterTime" : {
"clusterTime" : Timestamp(1659338993, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
更多推荐
已为社区贡献12条内容
所有评论(0)