使用tiup测试tikv恢复,然后就启不来了

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】 参照【SOP 系列 18】TiUP 环境恢复 TiKV 副本](【SOP 系列 18】TiUP 环境恢复 TiKV 副本) 模拟tikv恢复,然后就起不来了

【备份和数据迁移策略逻辑】

【背景】

  1. 使用 pd ctl 命令查看 store 信息,获得 Disconnected 状态的 store id

tiup ctl pd -u 172.16.5.138:14239 store

查看结果 Disconnected 状态对应的 id 为 1,4

  1. 查看 schedule-limit 的值,修改为 0 ,并等待一段时间直到没有正在运行的调度了,即 pd-ctl 中 operator show 输出空列表。

tiup ctl pd -u 172.16.5.138:14239 config show grep schedule-limit

“hot-region-schedule-limit”: 4,

“leader-schedule-limit”: 4,

“merge-schedule-limit”: 8,

“region-schedule-limit”: 2048,

“replica-schedule-limit”: 64,

tiup ctl pd -u 172.16.5.138:14239 -i

config set leader-schedule-limit 0

config set region-schedule-limit 0

config set replica-schedule-limit 0

config set merge-schedule-limit 0

config set hot-region-schedule-limit 0
3. 关闭正常的 up 节点

tiup cluster stop tidb-test -N 172.16.5.138:43641

关闭的节点通过 display 查看状态是 Disconnected

  1. 在关闭后的节点,使用 tikv-ctl 强制 Region 从多副本失败状态恢复服务

可以从中控机 scp tikv-ctl 到目标机器

scp /home/tidbtest/.tiup/components/ctl/v5.0.0-rc/tikv-ctl xxx

tikv-ctl --db /home/tidbtest/tidb-data/tikv-43641/db unsafe-recover remove-fail-stores -s 4,1 --all-regions

Starting component ctl : /home/tidbtest/.tiup/components/ctl/v5.0.0-rc/ctl tikv --db /home/tidbtest/tidb-data/tikv-43641/db unsafe-recover remove-fail-stores -s 4,1 --all-regions

removing stores [4, 1] from configurations…

success

  1. 修改参数配置为原参数值

tiup ctl pd -u 172.16.5.138:14239 -i

config set leader-schedule-limit 4

config set region-schedule-limit 2048

config set replica-schedule-limit 64

config set merge-schedule-limit 8

config set hot-region-schedule-limit 4

  1. 删除两个丢失数据的 tikv 的目录

cd /home/tidbtest/tidb-data

rm -rf tikv-43632

rm -rf tikv-43643

  1. 重启集群,这时候丢失的 data 目录会自动补数据,但是 tikv 日志会报重复 store 的错误

tiup cluster restart tidb-test

做了上述7步然后就启不来了,后来自己还单独在另外两台tikv上,手动执行过run_tikv.sh 发现还是重启不了集群,就又把/tidb-data/tikv-20160删除了,还是启不来

【现象】 业务和数据库现象

【问题】 当前遇到的问题
使用tiup cluster restart tidb-test 集群无法启动

【业务影响】

【TiDB 版本】
V5.0.0
【附件】
tidblog.zip (5.8 MB)

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 个赞

已搞定,上面的启动失败报错后,使用tidb cluster display tidb-test 查看集群


然后按后面的后面的步骤执行就可以了
8. 停止正常的 tikv 集群

tiup cluster stop tidb-test -N 172.16.5.138:43641

  1. 删除之前的 store id

tiup ctl pd -u 172.16.5.138:14239 -i

store delete 1

store delete 4

  1. 重启 tikv 集群后正常

tiup cluster restart tidb-test

2 个赞

:+1:感谢分享

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。