tidb 3.1 升级到4 pd经常挂,今天tikv 也启动不起来了

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

【TiDB 版本】
tidb 是走v3.1 升级到 v4.0.0

【问题描述】

tikv 启动不起来



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

麻烦上传无法启动的 tikv 日志,并且 tiup cluster display 展示下当前集群状态,多谢。

tikv_stderr.log (840.4 KB)

tikv 日志太大了,这是截图,全是这个错

有微信和qq吗?现在数据库挂了什么都不能做,急急急!我的qq(493966726)

这是集群状态

着急的华建议直接联系官方。

我显示是把之前备份的数据导入到mysql,tidb 的话慢慢弄。

请问,您是怎么升级的,看起来日志的目录修改了吗?

我是按照官方文档升级的,当时还用的好好地,就是上次断电关机了后一直报kv 上的分区有问题,当时没在意,以为要自动恢复,现在是kv直接启动不起来了。

请检查下操作系统级别是否正常?目前能否在操作系统访问此目录,并且正常读写,可以 touch 文件试试。

是正常的

  1. 这个文件 vi 看一下是否正常? /home/tidb/deploy/data/last_tikv.toml 里面的数据是否完整
  2. df -h 看下目录空间是不是满了
  3. 如果没有,可以试试 mv /home/tidb/deploy/data/last_tikv.toml 到其他目录备份下,重试重启,看看能否自动生成一个新的文件。
  4. 这个过程中都做过什么?最好详细描述下

data/last_tikv.toml 是完整的,最开始是关机了,启动的时候一直报tikv 中的分区有问题,这期间看库还能查询就没有管,直到昨天库突然挂了,而且重启是tikv 启动不起来,说的是/last_tikv.toml 文件中 wait-for-lock-timeout = 1s,wake-up-delay-duration = 20ms 这两个无效,我参照网上改成了wait-for-lock-timeout = 1000
,wake-up-delay-duration = 20,就操作了这个,然后还是不得行,我看到 /home/tidb/deploy目录下面也有一个这个last_tikv.toml 文件,于是就把这个文件拷贝到了/home/tidb/deploy/data/目录下面去了,重启tidb,没有启动起来,看了错误原因由于home/tidb/deploy下的last_tikv.toml raftdb-path属性为“”,所以启动的时候说这个目录不正确,所以我又把这个文件里面的这个属性改成了我原来配置home/tidb/deploy/raft ,后来启动就报 invalid conf pair 错误。

  1. 能否麻烦恢复到你修改前集群的默认状态,重启试试,反馈下报错日志
  2. 4.0 中这两个参数值是,请使用 tiup edit-conf 修改参数值,不要在文件里修改值。

https://github.com/tikv/tikv/blob/v4.0.12/etc/config-template.toml

能否远程看看?

我刚刚删除了last_tikv.toml ,现在重启又生成了改文件。

现在启动tikv 日志报错:

这是自动生成的last_tikv.toml,里面配置是 是1000和20

执行 tiup edit-conf 不得行。

需要补全语法

tiup cluster edit-config <cluster-name> [flags]

https://docs.pingcap.com/zh/tidb/stable/tiup-component-cluster-edit-config#tiup-cluster-edit-config