mongodb分片集群升级步骤

因现在使用的mongo的版本出现session bug,现将mongo 由原来的4.2.3 升级为4.2.8 

 

一、升级要求 

要将现有的MongoDB部署升级到4.2,必须运行4.0系列发行版。 

要从4.0系列之前的版本升级,必须连续升级主要版本,直到升级到4.0系列为止。例如,如果运行的是3.6系列,则必须先 升级到4.0, 然后才能升级到4.2。 

 

因为此次升级是4.2的小版本,因此不受影响 

 

副本集成员状态 

对于分片和配置服务器,请确保没有副本集成员处于 ROLLBACKRECOVERING状态。 

备份config数据库 

可选,但推荐。作为预防措施,升级分片群集之前,请对config数据库进行备份 。 

 

 

二、升级步骤 

1、禁用平衡器 

    sh.stopBalancer() 

验证是否关闭成功 

sh.getBalancerState() 

如果禁用了平衡器,则返回false 

 

 

2、升级config服务器 

一次升级 一个副本集的辅助成员 

等待升级的一个副本级升级完成且状态恢复后在进行下一个副本的升级 

a.关闭辅助mongod实例(单个从节点) 

b.修改版本号启动服务  (单个从节点) 

c.等待成员恢复SECONDARY状态,然后再升级下一个辅助成员。要检查成员的状态,请rs.status()mongoshell中 

对每个次要成员重复上述步骤 

d.降级主副本集 (主节点) 

连接到主要数据库,并用于 rs.stepDown()降低主要数据库并强制选择新的主要数据库 

e.rs.status()显示主节点已降级并且另一个成员已PRIMARY进入状态时,请关闭已降级的主mongod节点(主节点)  

至此完成config服务的升级 

 

 

 

3、升级shard服务器 

一次升级 一个副本集的辅助成员: 

  1. 关闭mongod实例 

  2. 修改版本号启动服务  (单个从节点) 

  3. 等待成员恢复SECONDARY状态,然后再升级下一个辅助成员。要检查成员的状态,请rs.status()mongoshell中对每个次要成员重复上述步骤 

  4. 降级主副本集 (主节点)连接到主要数据库,并用于 rs.stepDown()降低主要数据库并强制选择新的主要数据库,完成主节点升级 

 

 

 

4、升级mongos 

依次修改mongo服务版本,并启动服务 

 

 

5、重新启用平衡器 

用4.2 mongoShell,连接到 mongos集群中的并运行 sh.startBalancer()以重新启用平衡器: 

 

posted @ 2020-07-29 19:27  巴黎斜塔  阅读(903)  评论(3编辑  收藏  举报