TiDB集群TiDB、PD、TiKV宕节点高可用测试后启动失败

版本 v3.0.7
架构类型 3TiDB混部3PD 3TiKV(双实例)

业务在进行集群高可用性、数据是否正常的测试时候,启停顺序如下
ansible-playbook stop.yml -l TIDB1
ansible-playbook stop.yml -l PD3
ansible-playbook stop.yml -l TiKV1-1
ansible-playbook stop.yml -l TiKV1-2

ansible-playbook start.yml -l TiKV1-2
ansible-playbook start.yml -l TiKV1-1
ansible-playbook start.yml -l PD3
ansible-playbook start.yml -l TIDB1
业务反馈说
「 到这一步才报错 ansible-playbook start.yml -l TIDB1 」


接手问题的时候的情况为 TiDB1一直无法启动成功 进程无法拉起,其余节点已经拉起:
TiDB1使用 start.yml脚本、tidb部署目录的start脚本、也使用systemctl 启动过tidb-4000.service都没有启动成功。

当前未启动的TiDB1 错误日志 如下
time=“2020-07-31T19:09:27+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”
time=“2020-07-31T19:09:42+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”
time=“2020-07-31T19:09:58+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”
time=“2020-07-31T19:10:13+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”

time=“2020-07-31T19:10:28+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”
time=“2020-07-31T19:10:43+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”
time=“2020-07-31T19:10:59+08:00” level=fatal msg=“Near line 31 (last key parsed ‘performance’): expected a top-level item to end with a newline, comment, or EOF, but got ‘G’ instead”

测试过的方法:stop tidb后再启动start也没有成功
最后生效拉起的方法:ansible-playbook rolling_update.yml -l PD1,TiDB1

麻烦分析一下宕节点之后启动失败的原因

hi,可否反馈下 select tidb_version();

如果前端有 LB,启动 tidb 是否成功对程序是没有影响的,因为链接还没有到该 tidb-server 上。

辛苦将此 tidb-server log 从 welcome 开始反馈下。辛苦上传附件,方便查看

是有ha,但是这个tidb手动stop拉不起来就不是正常现象
202007311931tidb_wel.log (13.6 KB)

你好,
在提供的 tidb log 中么有发现一楼所提到的日志信息,辛苦在反馈下。
但是在其中看到;
[2020/07/31 19:13:58.878 +08:00] [WARN] [main.go:166] [“config file conf/tidb.toml contained unknown configuration options: pessimistic-txn.ttl”]
辛苦看下是否有类似配置。

1、一楼的日志是stderr.log的日志,tidb分成了两个日志的呢



详细见下面这个stderr文件
tidb_stderr.log (1000.9 KB)
2、悲观锁这个好像是有的,使用的默认值
pessimistic_txn:
# enable pessimistic transaction.
# enable: true

看报错是配置文件好像有问题,请问单独修改过这个tidb的配置文件吗? 麻烦上传下这个节点的配置文件,tidb.toml 多谢。

我问一下吧 我看着也怀疑配置文件有问题 然后后面我是直接rollingupdate起不来的tidb节点拉起来的

那个toml文件应该已经不在了 我滚动更新过,,等等我发现有个backup文件夹 找出来贴给你
tidb.toml.257112.2020-07-31@19_12_53~ (1.1 KB)

https://github.com/pingcap/tidb/blob/release-3.0/config/config.toml.example
3.0 的配置文件模板中没看到此参数,去掉之后辛苦在看下启动是否失败

没啥效果 不知道为啥 ,上周五再次进行高可用测试宕掉节点之后总是有tidb一个节点起不来,然后重启pd节点之后才会好。悲观锁那部分改不改好像不是必要原因,因为其他的tidb节点并没受到影响。麻烦老师们再次解答一下 应该从何下手

说明下,我们从本次 tidb 节点 rolling_update 启动失败来开始看下这个问题,

辛苦提供下 最近一次失败的 tidb log,从 welcome 开始即可。