- 升级 PD
- 优先升级非 Leader 节点
- 所有非 Leader 节点升级完成后再升级 Leader 节点
- 工具会向 PD 发送一条命令将 Leader 迁移到升级完成的节点上
- 同时升级过程中,若发现有不健康的节点时工具会中止本次升级并退出,此时需要由人工判断、修复后再执行升级。
- 升级 TiKV
- 先在 PD 中添加一个迁移对应 TiKV 上 region leader 的调度,通过迁移 Leader 确保升级过程中不影响前端业务。
- 等待迁移 Leader 完成之后,再对该 TiKV 节点进行升级更新
- 等更新后的 TiKV 正常启动之后再移除迁移 Leader 的调度
- 升级其他服务
1.4.1.2 版本升级操作
上面提到的逻辑都是在工具中集成好的功能,以升级到 4.0.0-beta.1 版本为例,我们实际上只需要一条命令就可以实现整个集群的版本升级。
-t | --tidb-version 必选参数。用于表示升级的目标版本
--local-pkg 可选参数。若无外网,可将安装包拷贝中控机本地,通过此参数指相关路径进行离线安装
-r | --role 可选参数。对指定服务进行升级操作,role 按照 TiDB 服务的角色类型取值:"pd", "tikv", "pump", "tidb", "drainer", "monitoring", "monitored", "grafana", "alertmanager"
--force 可算参数。常规情况是滚动升级,设置此参数,升级时会强制停机、重启