BR恢复失败,怎么删除所有恢复的数据,重新恢复呢

BR恢复失败,怎么删除所有恢复的数据,重新恢复呢

删除你恢复的库表不就好了?

直接吧恢复的所有数据库表drop删除,就行了吗?那本地空间等他的gc时间会也会清理吗?

gc后,会自动清理的

大哥,能帮我看看这个问题吗,提示有一个恢复失败,我能找到那个一个,恢复失败的这一个吗,能找到这一个吗,我单独恢复。这样也不用全部回复了。全部恢复要10个小时。太麻烦了。 :joy:
[2023/12/29 03:12:54.730 +08:00] [INFO] [collector.go:188] [“Full restore Failed summary : total restore files: 99378, total success: 99377, total failed: 1”] [“split region”=28m54.978152613s] [“restore ranges”=88703] [Size=2279671975326] [unitName=file] [error=“rpc error: code = Unavailable desc = transport is closing”] [errorVerbose=“rpc error: code = Unavailable desc = tra
nsport is closing\ngithub.com/pingcap/errors.AddStack\n\tgithub.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/errors.go:174\ngithub.com/pingcap/errors.Trace\n\tgithub.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/juju_adaptor.go:15\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).ingestSST\n\tgithub.com/pingcap/br@/pkg/restore/import.go:480\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).Import.func1\n\tgithub.com/pingcap/br@/pkg/restore/import.go:276\ngithub.com/pingcap/br/pkg/utils.WithRetry\n\tgithub.com/pingcap/br@/pkg/utils/retry.go:46\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).Import\n\tgithub.com/pingcap/br@/pkg/restore/import.go:222\ngithub.com/pingcap/br/pkg/restore.(*Client).RestoreFiles.func2\n\tgithub.com/pingcap/br@/pkg/restore/client.go:584\ngithub.com/pingcap/br/pkg/utils.(*WorkerPool).ApplyOnErrorGroup.func1\n\tgithub.com/pingcap/br@/pkg/utils/worker.go:63\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\tgolang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:57\nruntime.goexit\n\truntime/asm_amd64.s:1357”]
[2023/12/29 03:12:54.730 +08:00] [ERROR] [restore.go:35] [“failed to restore”] [error=“rpc error: code = Unavailable desc = transport is closing”] [errorVerbose=“rpc error: code = Unavailable desc = transport is closing\ngithub.com/pingcap/errors.AddStack\n\tgithub.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/errors.go:174\ngithub.com/pingcap/errors.Trace\n\tgithub.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/juju_adaptor.go:15\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).ingestSST\n\tgithub.com/pingcap/br@/pkg/restore/import.go:480\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).Import.func1\n\tgithub.com/pingcap/br@/pkg/restore/import.go:276\ngithub.com/pingcap/br/pkg/utils.WithRetry\n\tgithub.com/pingcap/br@/pkg/utils/retry.go:46\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).Import\n\tgithub.com/pingcap/br@/pkg/restore/import.go:222\ngithub.com/pingcap/br/pkg/restore.(*Client).RestoreFiles.func2\n\tgithub.com/pingcap/br@/pkg/restore/client.go:584\ngithub.com/pingcap/br/pkg/utils.(*WorkerPool).ApplyOnErrorGroup.func1\n\tgithub.com/pingcap/br@/pkg/utils/worker.go:63\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\tgolang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:57\nruntime.goexit\n\truntime/asm_amd64.s:1357”] [stack=“main.runRestoreCommand\n\tgithub.com/pingcap/br@/cmd/br/restore.go:35\nmain.newFullRestoreCommand.func1\n\tgithub.com/pingcap/br@/cmd/br/restore.go:120\ngithub.com/spf13/cobra.(*Command).execute\n\tgithub.com/spf13/cobra@v1.0.0/command.go:842\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tgithub.com/spf13/cobra@v1.0.0/command.go:950\ngithub.com/spf13/cobra.(*Command).Execute\n\tgithub.com/spf13/cobra@v1.0.0/command.go:887\nmain.main\n\tgithub.com/pingcap/br@/cmd/br/main.go:56\nruntime.main\n\truntime/proc.go:203”]
[2023/12/29 03:12:54.730 +08:00] [ERROR] [main.go:58] [“br failed”] [error=“rpc error: code = Unavailable desc = transport is closing”] [errorVerbose=“rpc error: code = Unavailable desc = transport is closing\ngithub.com/pingcap/errors.AddStack\n\tgithub.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/errors.go:174\ngithub.com/pingcap/errors.Trace\n\tgithub.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/juju_adaptor.go:15\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).ingestSST\n\tgithub.com/pingcap/br@/pkg/restore/import.go:480\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).Import.func1\n\tgithub.com/pingcap/br@/pkg/restore/import.go:276\ngithub.com/pingcap/br/pkg/utils.WithRetry\n\tgithub.com/pingcap/br@/pkg/utils/retry.go:46\ngithub.com/pingcap/br/pkg/restore.(*FileImporter).Import\n\tgithub.com/pingcap/br@/pkg/restore/import.go:222\ngithub.com/pingcap/br/pkg/restore.(*Client).RestoreFiles.func2\n\tgithub.com/pingcap/br@/pkg/restore/client.go:584\ngithub.com/pingcap/br/pkg/utils.(*WorkerPool).ApplyOnErrorGroup.func1\n\tgithub.com/pingcap/br@/pkg/utils/worker.go:63\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\tgolang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:57\nruntime.goexit\n\truntime/asm_amd64.s:1357”] [stack=“main.main\n\tgithub.com/pingcap/br@/cmd/br/main.go:58\nruntime.main\n\truntime/proc.go:203”]
(END)

重新执行恢复试试。

你这也太惨了,看不出哪个有问题,要不你分开备份,逐个恢复。

问题是你要知道哪些是已经恢复的

是的,直接把恢复的所有数据库表drop删除,就行了。删除后,就可以重新执行 BR restore 进行数据恢复。

本地空间等系统gc后,会自动清理和释放。

2 个赞

如果你知道是哪个表恢复失败,BR Restore 是支持只恢复某个表的数据的,印象中是在恢复的时候添加合适的filter 规则就行,具体可参考一下官网的指引。

首先,删除数据库就可以重新进行恢复。

然后,如果想提升恢复速度,可以参考
https://docs.pingcap.com/zh/tidb/v5.0/backup-and-restore-use-cases#性能调优-1

br不是全量恢复吗,删除原有数据重头开始不就可以了

哪个表恢复失败这个怎么查从哪里查有相关资料吗?他只是提示一个fiail,也不知道是一个表还是一个rergin段还是一个本地文件。我是想着单独恢复这一个,毕竟这么多,只是失败了一个

提示了一个报错,查了官方文档就是说因为性能太低,降低速度 :joy:

failed 的信息里看看有没有schema 相关的信息

信息就我发的那么多。没有其他的了看不到相关信息。。。。。

drop掉吗?

:thinking:如果是硬件性能不达标的话,就只能降低一下速度试试了~

降低速度是 – retelimit 吗?我看官方文档是这个。我已经写成–ratelimit 70 限制70m/s了,但是为什么我看tikv服务器写入速度还是100多呢

检查一下拼写是否正确,另外tikv是独享服务器么?这里的限速应该是针对每个TiKV节点的,不是针对整个TiKV或者所在服务器的。

--ratelimit 选项限制了每个 TiKV 执行恢复任务的速度上限(单位 MiB/s)