关于直接向tikv中写入百万条数据后,tidb启动超时问题

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

  • 【TiDB 版本】:4.08
  • 【问题描述】:向TIKV中直接写入百万级别的数据后,使用tiup cluster restart重启集群服务,tikv启动成功,tidb启动超时后报错,关闭tikv服务后用tikv-ctl确认可以读取其中的数据;这个是什么原因呢?应该如何解决呢?
    启动过程中报错信息:
    Starting component pd
    Starting instance pd 10.2.10.99:2379
    Start pd 10.2.10.99:2379 success
    Starting component node_exporter
    Starting instance 10.2.10.99
    Start 10.2.10.99 success
    Starting component blackbox_exporter
    Starting instance 10.2.10.99
    Start 10.2.10.99 success
    Starting component tikv
    Starting instance tikv 10.2.10.99:20160
    Start tikv 10.2.10.99:20160 success
    Starting component tidb
    Starting instance tidb 10.2.10.99:4000
    retry error: operation timed out after 2m0s
    tidb 10.2.10.99:4000 failed to start: timed out waiting for port 4000 to be started after 2m0s, please check the log of the instance

Error: failed to start tidb: tidb 10.2.10.99:4000 failed to start: timed out waiting for port 4000 to be started after 2m0s, please check the log of the instance: timed out waiting for port 4000 to be started after 2m0s

Verbose debug logs has been written to /root/bfm/go-ycsb/logs/tiup-cluster-debug-2020-12-25-09-53-41.log.
Error: run /root/.tiup/components/cluster/v1.2.3/tiup-cluster (wd:/root/.tiup/data/SK8v8E4) failed: exit status 1

日志较大,无法上传成功,需要时,可以提供某时间段的截图.

需要去报错的 tidb-server 查看对应的 日志,查看启动失败的原因,如果日志无明显异常,可以手动执行 systemctl start tidbxxxx.service 看是否能正常启动

如图,我观察到,进程是启动的,但是tiup cluster display却是异常的,同时,查看日志,看着一些WARN甚至FATAL级别的标注说PD的问题,但我看PD进程也是启动的,且tikv能正常读写,由于刚开始接触这一块,实在不太理解是什么问题?

连不上 pd ,检查一下 pd 是否OK,另外,有没有重启试试

pdctl health 查看pd,看着是正常的
image

同样,ping也可以
image

store看着也是正常的

你所指的重启是重启tidb服务还是pd服务呢?或者是服务器呢?因为我此前多次用tiup cluster restart尝试,都不能解决,并且对于tidb服务,我发现应该是有守护进程不停的再拉起它,但它总会超时,所以回看到tidb进程的启动时间总是在很多的时间(几十秒)之前启动的

初步看来,大概率是重启时PD进行一致性校验不通过造成的,集群单节点(1kv + 1pd),解决方案暂时没有找到,只能重新搭建一个多节点集群

重新搭建
集群1:仍然按照1 kv + 1 pd + 1db + 1 flash,直接向kv写数据(此次仅写10万),中间出现大量tidb报[ddl] handle DDL job failed(即写冲突错误),tikv正常,重启出现问题,搜索一篇帖子可参考https://asktug.com/t/topic/34176/3 (不确定解决性)
集群2: 1kv + 1pd ,直接向kv写数据,没有出现问题

根据相关帖子信息,这个问题应该是 txn api 和 raw api 混用 region 数据混乱导致 tidb 无法正确解析 region 数据导致的。

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