TiUP 升级 TiFlash 重启失败解决方案
作者: 代晓磊 _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 信息来进行升级操作。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/d83cf1f35d40da813151dc504】。文章转载请联系作者。
评论