含有TiFlash组建的集群从v5.1.4升级到v5.4.3相关问题

【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.1.4
【 过程】集群的版本是v5.1.4,升级的版本是v5.4.3,按照官方文档操作如下:

  • tiup cluster stop -R tiflash

  • tiup cluster upgrade --offline

  • tiup cluster reload
    问题:在执行第二步的时候报错,现实参数–offline是升级已经关闭的集群。
    看说明:–offline Upgrade a stopped cluster

后来我将该参数去掉,直接升级,虽然成功了,但是出现了数据查询不到,重新同步相关数据的情况

tiup --version
看看tiup的版本是多少,升级前先升级tiup的版本了吗?

tiup version 1.12.1 tiup
Go Version: go1.19.8
Git Ref: v1.12.1
GitHash: f4dae709fa3e904958f3433b617a6bc4bd9049a3

使用offline的前提是关闭集群,但看你的描述只是关闭了TiFlash组件,没有关闭集群。

tiup cluster --version
tiup cluster版本也升级过了?

关于 --offline 参数的使用,根据 TiUP 官方文档的说明,该参数用于升级已经停止的 TiDB 集群,而不是关闭集群后再升级。因此,在执行 tiup cluster upgrade 命令时,如果集群已经被关闭,应该省略 --offline 参数。

其次,关于数据查询不到的问题,这可能是由于 TiDB 升级后,数据结构发生了变化,导致原来的查询语句无法正常执行。为了解决这个问题,您可以尝试以下方法:

  1. 检查 TiDB 升级后的版本是否支持您的查询语句。可以查看 TiDB 官方文档,了解新版本的特性和变化,以便更好地适应新版本。
  2. 检查 TiDB 升级后的配置文件是否正确。升级后,TiDB 的配置文件可能会发生变化,需要根据新版本的要求进行相应的修改。可以查看 TiDB 官方文档,了解新版本的配置文件格式和参数含义。
  3. 检查 TiDB 升级后的统计信息是否正确。升级后,TiDB 的统计信息可能会失效,需要重新收集。可以使用 ANALYZE TABLE 命令,对表进行统计信息收集,以便优化查询计划。
  4. 检查 TiDB 升级后的索引是否正确。升级后,TiDB 的索引可能会失效,需要重新创建。可以使用 CREATE INDEX 命令,对表创建索引,以便优化查询计划。

如果以上方法都无法解决问题,可以尝试在 TiDB 的启动参数中,增加 --log-level debug,并查看 TiDB 的日志,以便更详细地了解错误信息。

不是哦,你可以测试看看

升级文档:

  • 若想将 TiFlash 从 5.3 之前的版本升级到 5.3 及之后的版本,必须进行 TiFlash 的停机升级。参考如下步骤,可以在确保其他组件正常运行的情况下升级 TiFlash:
    1. 关闭 TiFlash 实例:tiup cluster stop <cluster-name> -R tiflash
    2. 使用 --offline 参数在不重启(只更新文件)的情况下升级集群:tiup cluster upgrade <cluster-name> <version> --offline
    3. reload 整个集群:tiup cluster reload <cluster-name>。此时,TiFlash 也会正常启动,无需额外操作。

请问,查看tidb-server和TiFLash的日志有没有异常的地方?
日志通常会有一些迹象显示

这段文字的官方文档链接麻烦发一下