升级Secondary
先从Secondary开始升级,选择一个不繁忙节点在业务峰值低情况下升级
把Secondary设置为隐藏节点
cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
rs.reconfig(cfg)
注意:
所有的修改命令要在PRIMARY节点运行。
登录到对应的Secondary节点,停库,二进制升级重起
修改节点为非隐藏状态。
使用rs.status()查看,等待节点状态为Secondary
对其它Secondary节点重复以上操作。
升级Primary
登陆Primary执行 rs.stepDown() 降级,进行选举使其他Secondary为Primary,(在业务峰值低情况下升级数据同步时间间隔少了容易选举Primary)
停库,二进制升级重起
以上完成后让新版本运行一段时间,观察性能功能没有问题,
在Primary节点 执行
db.adminCommand({setFeatureCompatibilityVersion:"4.4"})
等待一段时间后,所有的节点都升级到4.4版本。
详细操作步骤请看:mongodb升级详细教程
跨版本升级
如果是跨版本升级,需要一个版本一个版本地重复上面的步骤,不能一次升级到位。