断电后tidb启动不了

tiup-cluster-debug-2022-06-27-10-34-07.zip (8.1 KB)

异常断电导致,能力有限。日志里看不出问题点


192.168.1.202 上的 tikv 启动不了

看下 192.168.1.202 上 /tidb-deploy/tikv-20161/log 下面的日志内容

tiup cluster start sandata -N 192.168.2.84:2379
正常把pd调用起来 后续tikv也会启动的
你这样一台机器部署所有任务的建议你机器内存加到点到64g这种 可能启动的时候会有oom

停止TiDB集群节点

首先使用 "tiup cluster display "命令查看TiDB集群信息,ID列显示的 IP:PORT 可以作为节点名称使用,执行过程如下:


接下来,可以参考停止集群命令 “tiup cluster stop -h"的帮忙信息,来得到停止某一台服务器的命令语法,从帮助中可以看到使用 -N 选项就是我们需要的功能,执行过程如下:

了解了命令后,接下来停止"192.168.2.81:2379"这台PD节点服务器,命令为:“tiup cluster stop sandata -N 192.168.2.81:2379”,执行过程如下:

停止命令执行成功后,再次使用 “tiup cluster display sandata” 查看集群的状态,可以看到 192.168.2.81:2379 节点已经是 Down 的状态,执行过程如下:

下一步我们使用同样命令"tiup cluster stop sandata -N 192.168.2.81:20160”,来停止 192.168.2.84:20160 这台 TiKV 节点服务器,执行过程如下:

命令成功后,192.168.2.84:20160 这台 TiKV 节点变为Disconnected状态,执行过程如下:

等待一段时间后,TiKV 节点状态就会变成 Down 的状态,在这种状态不影响TiDB的正常使用,执行过程如下。

至此,我们完成了停止TiDB集群节点服务器的工作。
启动TiDB集群节点

下一步,我们把停掉的节点,逐一恢复启动状态。首先使用 “tiup cluster start sandata -N 192.168.2.84:20160” 命令来启动 TiKV 节点,执行过程如下:


再使用"tiup cluster start sandata -N 192.168.2.84:2379" 命令来启动 PD 节点,执行过程如下:

最后,使用 “tiup cluster display sandata” 命令检查TiDB集群状态,均为UP状态,执行过程如下:

总结

通过本文,我们可以使用TiUP对TiDB集群中的节点进行启动和停止过程,此过程不影响其他节点的正常运行,也体现了TiUP工作的方便和易用

tikv.log (32.4 MB)

pd.log (9.0 MB)

大佬看看?

几点断电的, 几点重启的?

tikv.log中显示系统错误,连接不到主机

pd.log 这一段,找不到文件了

tikv中显示连接不上主机了,同时pd连接不到kv, pd日志中显示找不到文件了,可能跟系统资源有关系,具体还需要排查。

你这是测试环境吗?
一般生产环境配置都会把tikv和pd放置不同的主机, 且tikv实例3个或以上,避免异常情况丢数据集群无法启动

介于测试和正式之间吧,新机房没有UPS,并且经常断电。另外没空调,过热也可能会关机

这个微信群里和他详细聊过 是pd 组件的leveldb数据库坏了,EXSi 断电关机数据未保存完整。 目前对方只有一台pd服务器 已经重建服务器。把pd节点加到3台。增强pd节点的容错

机房没空调…服务器热晕过去了:joy:

:+1::+1::+1:

目前没有遇到过类似情况,唯一一次类似的,是因为开启了raid卡缓存,但是因为raid卡没有电池,导致断电后缓存丢失,进而导致tidb无法启动。

巧了上次我也是断电,为此还在论坛中写了一篇文章。不过我也没修好,最后重建了。

1 Like