【Tidb·进阶必看】使用 TiUP 升级 TiDB

伍六七叭酒 2022-03-17 11:28:33

本文档适用于使用 TiUP 从 TiDB 3.0 或 3.1 版本升级至 TiDB 4.0 版本,以及从 4.0 版本升级至后续版本。

如果原集群使用 TiDB Ansible 部署,TiUP 也支持将 TiDB Ansible 配置导入,参考 tiup cluster import,并完成升级。

1. 升级兼容性说明

  • 不支持在升级后回退至 3.0 或更旧版本。
  • 3.0 之前的版本,需要先通过 TiDB Ansible 升级到 3.0 版本,然后按照本文档的说明,使用 TiUP 将 TiDB Ansible 配置导入,再升级到 4.0 版本。
  • TiDB Ansible 配置导入到 TiUP 中管理后,不能再通过 TiDB Ansible 对集群进行操作,否则可能因元信息不一致造成冲突。
  • 对于满足以下情况之一的 TiDB Ansible 部署的集群,暂不支持导入:
    • 启用了 TLS 加密功能的集群
    • 纯 KV 集群(没有 TiDB 实例的集群)
    • 启用了 Kafka 的集群
    • 启用了 Spark 的集群
    • 启用了 TiDB Lightning / TiKV Importer 的集群
    • 仍使用老版本 'push' 的方式收集监控指标(从 3.0 默认为 'pull' 模式,如果没有特意调整过则可以支持)
    • 在 inventory.ini 配置文件中单独为机器的 node_exporter / blackbox_exporter 通过 node_exporter_port / blackbox_exporter_port 设置了非默认端口(在 group_vars 目录中统一配置的可以兼容)或者单独为某一台机器的 node_exporter / blackbox_exporter 设置了和其他机器的 node_exporter / blackbox_exporter 不同的 deploy_dir
  • 如果使用 TiDB Ansible 部署的集群中有部分节点未部署监控,应当先使用 TiDB Ansible 在 inventory.ini 文件的 monitored_servers 分组中补充对应节点的信息,并通过 deploy.yaml playbook 将补充的监控组件部署完整。否则在数据导入 TiUP 后进行其他运维操作时,可能会因监控组件缺失而出错。
  • 支持 TiDB Binlog,TiCDC,TiFlash 等组件版本的升级。
  • 从 2.0.6 之前的版本升级到 4.0 版本之前,需要确认集群中是否存在正在运行中的 DDL 操作,特别是耗时的 Add Index 操作,等 DDL 操作完成后再执行升级操作
  • 2.1 及之后版本启用了并行 DDL,早于 2.0.1 版本的集群,无法滚动升级到 4.0 版本,可以选择下面两种方案:
    • 停机升级,直接从早于 2.0.1 的 TiDB 版本升级到 4.0 版本,然后使用 TiUP Cluster 提供的 tiup cluster import 命令导入配置并使用 TiUP 作为管理工具。
    • 滚动升级,先滚动升级到 2.0.1 或者之后的 2.0.x 版本,再滚动升级到 4.0 版本。然后使用 TiUP Cluster 提供的 tiup cluster import 命令导入配置并使用 TiUP 作为管理工具。

······

更多详见:https://docs.pingcap.com/zh/tidb/v4.0/upgrade-tidb-using-tiup

...全文
170 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81

社区成员

发帖
与我相关
我的任务
社区描述
Tidb开发者
其他 企业社区
社区管理员
  • csdnsqst0014
  • kikokingzz
  • karina17
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区初立,为了鼓励小友们在社区中积极互动,现在有一个活动如下:

试试用AI创作助手写篇文章吧