隔壁小王
(Fateblessme)
2021 年8 月 18 日 05:55
1
【 TiDB 使用环境】
实体设备,32G内存,16线程CPU,2T硬盘
【概述】
通过TiUP安装的V4.0.8的版本,单机部署 PD,KV,DB组件各一个
reboot服务器后TiDB无法正常启动,只有PD起来,KV和DB都无法启动
【背景】
正在小量(估计也就3000不到)的刷写数据库的时候,直接模拟断电的场景,使用reboot命令重启服务器
【现象】
系统正常启动,TiDB组件只有PD起来,DB和KV都没法启动
查看KV的日志,报
["failed to create kv engine: RocksDb Corruption: Can’t access /000072.sst: IO error: No such file or directorywhile stat a file for size: /ww/applications/basicComps/TiDB/tidb-data/tikv-20161/db/000072.sst: No such file or directory
"]
【业务影响】业务就别说了,都挂了
【TiDB 版本】
V4.0.8
【附件】
TiUP Cluster Display 信息
1 个赞
隔壁小王
(Fateblessme)
2021 年8 月 18 日 06:10
4
这个问题相当的头大,只要我这边在处理大量的数据,直接重启,100%必现这个问题
我做了4台机器(单机的)去测试这个问题,全都挂了,都是这类的提示
不知道有没有恢复方法,生产机要是出这个问题,我觉得我可以给自己买块墓地了
1 个赞
隔壁小王
(Fateblessme)
2021 年8 月 18 日 06:18
5
现在对这个问题,有两个延伸问题:
1、单机的情况下,生产环境出现这个问题能不能恢复?
2、如果不能恢复,数据怎么导出来?
虽然最核心的问题是怎么避免这种问题的发生
1 个赞
隔壁小王:
TiUP Cluster Display 信息
这个拓扑不对,生产环境标准,至少 3 个 TiKV 实例,1 个 TiKV 实例可以测试着玩玩,但是不能这样生产。如果是模拟断电恢复,如果磁盘丢数据,也是无法启动的。建议还是重新部署 3 节点 TiKV 3 节点 PD 3 节点 TIDB
实例模拟断电实验。
1 个赞
隔壁小王
(Fateblessme)
2021 年8 月 18 日 06:29
7
主要是生产环境,我们也有可能只售卖单机的情况
如果单机的情况,部署一个PD,3个DB,3个KV,怎么样?
1 个赞
变又未变
(变又未变)
2021 年8 月 18 日 06:47
10
一般部署要求是:3个tikv-server,3个pd-server,1个或者多个tidb-server,tikv-server和pd-server要分布在不同的机器上,这样保证多副本,断电后能恢复
1 个赞
北京大爷
(北京大爷)
2021 年8 月 18 日 06:50
11
tidb 是分布式数据库,单机故障 必须保证多数派 服务是不挂的才能进行自愈。
所以你的选型是有问题的。如果生产环境请确保 tikv 是分别在不同 host 部署。
单实例 因为不能满足 multi-raft 的多数派选举所以无法自愈。
1 个赞
北京大爷
(北京大爷)
2021 年8 月 18 日 06:56
13
2 个赞
system
(system)
关闭
2022 年10 月 31 日 19:17
14
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。