写点什么

TiUP 升级 TiFlash 重启失败解决方案

  • 2022 年 7 月 11 日
  • 本文字数:626 字

    阅读完需:约 2 分钟

作者: 代晓磊 _Mars 原文来源:https://tidb.net/blog/6bb6ec8f


前提:使用 TiUP 升级 tidb3.1->4.0GA 报错内容:TiFlash 重启超时



排查过程: (1)登录 TiFlash 所在服务器,查看 tiflash_error.log 日志中的报错信息: 2020.06.02 10:00:15.084960 [ 1 ] Application: DB::Exception: Path “/data/deploy/tiflash/data/db//data/sdkrec2_report/sdk_user_report_day/” is missing.


(2)然后在 metadata 目录找 sdk_user_report_day 的表在哪个文件? grep -r ‘sdk_user_report_day’ /data/deploy/tiflash/data/db/metadata/sdkrec2_report/media_report_day.sql 查看该文件发现表结构中的表名是 media_report_day,而 sql 文件中有关表名的信息中还有之前 sdk_user_report_day 表名的信息。


(3)备份 + 修改 /data/deploy/tiflash/data/db/metadata/sdkrec2_report/media_report_day.sql 文件。 原文件一定要 mv 到 metadata 目录外。


(4) 将 sql 文件中:{“L”:“sdk_user_report_day”,“O”:“sdk_user_report_day”}这个表名部分修改为: media_report_day


(5) 修改完毕后重新再次升级 4.0 即可


问题原因:表名由 sdk_user_report_day 修改为 media_report_day,修改后 tiflash 的 meta 没有及时更新导致 tiflash 一直重启一直失败。 所有表的 schema 都会同步到 tiflash 的,tiflash 应该有一份较新的 schema。这个问题是 sql 文件里面 schema 的表名没更新,从 3.1.0 或 4.0.0 升级时,有个升级逻辑需要根据 schema 信息来进行升级操作。


发布于: 刚刚阅读数: 3
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiUP升级TiFlash重启失败解决方案_TiDB 社区干货传送门_InfoQ写作社区