lightning 数据导入问题

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】: V4.0.4
  • 【问题描述】:通过dumpling导出上游mysql 分库分表的数据,然后通过lightning导入下游tidb。
    奇数库的所有数据放在dir1目录下,偶数库的数据放在dir2目录下,我通过lightning可以把dir1的数据都导入到tidb,然后准备再导入dir2目录下的文件时,lightning无报错,但是数据一直没有导入。请帮忙看看是什么原因,谢谢。
    lightning任务配置如下:
    tidb-lightning.toml (1.0 KB)

日志如下:
lightning日志.txt (9.3 KB)

请问是 dir1 导入没有成功 ?还是 dir2 导入没有成功 ?是通过 lightning 进行合库合表么 ?

[2020/09/17 15:54:36.130 +08:00] [INFO] [restore.go:508] [progress] [files="0/16 (0.0%)"] [tables="0/22 (0.0%)"] [speed(MiB/s)=0] [state=writing] []
[2020/09/17 15:59:36.130 +08:00] [INFO] [restore.go:508] [progress] [files="0/16 (0.0%)"] [tables="0/22 (0.0%)"] [speed(MiB/s)=0] [state=writing] []
[2020/09/17 16:04:36.130 +08:00] [INFO] [restore.go:508] [progress] [files="0/16 (0.0%)"] [tables="0/22 (0.0%)"] [speed(MiB/s)=0] [state=writing] []
[2020/09/17 16:09:36.133 +08:00] [INFO] [restore.go:508] [progress] [files="0/16 (0.0%)"] [tables="0/22 (0.0%)"] [speed(MiB/s)=0] [state=writing] []

麻烦看一下这个文档

https://docs.pingcap.com/zh/tidb/dev/tidb-lightning-backends#从-loader-迁移到-tidb-lightning-tidb-backend

dir2 的文件全都没导入成功,日志也是dir2对应的日志,另外你复制的这部分日志没有参考意义,因为在导入dir1目录的文件时,进度的日志也是一直这样打印:[files=“0/16 (0.0%)”] [tables=“0/22 (0.0%)”] 。

昨天dir1导入的记录大概4700万记录,导入完成后接着导入dir2是一直没有更新记录的。今天我重新导入dir2的记录,发现又可以开始导入了,想确认下,昨天在导入dir1目录的数据之后是因为做统计更新,然后dir2的数据没办法导入?还是其他什么原因?


记录数也开始在增加了
image
但日志其实还是打印没有进度的
[2020/09/18 08:50:39.079 +08:00] [INFO] [restore.go:508] [progress] [files=“0/16 (0.0%)”] [tables=“0/22 (0.0%)”] [speed(MiB/s)=4.456302532461496] [state=writing] []
[2020/09/18 08:55:39.084 +08:00] [INFO] [restore.go:508] [progress] [files=“0/16 (0.0%)”] [tables=“0/22 (0.0%)”] [speed(MiB/s)=4.157353683101793] [state=writing] []

请问 dir2 这个数据量是多少呀 ?可能的原因是因为 TiDB backend 比较慢,Lightning log 里面没有将所有的数据同步进展输出,而是按照 百分比 的方式,所以看到进度会慢。网页上面的 progress 也是没有停在 0% ,而是一直在同步的状态。Log 显示是只有一个 file 文件完整导入完成才会增加进度条。

这么说,日志显示进度的问题是正常的,因为每个分表我都只导出一个文件。

dir2的记录和dir1的记录是差不多的,都是4700万,现在比较诡异的就是为何刚导完dir1的记录,导dir2 的记录半天没反应(当时一直在数据库中select count(*) from xxx,持续了几十分钟),

可以看到对应导入的 TiDB server 的 Log 当时有什么操作么?