服务器写入数据,其中一个节点oom后,导致其中三张大表全部都 ERROR 9005 (HY000) : Region is unavailable。

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.1.2
【复现路径】做过哪些操作出现的问题,最近多台 tikv 处于上线和下线的状态,并且数据还未均衡。在这种情况下写入数据,其中一台tikv omm后,自动重启是成功的
【遇到的问题:问题现象及影响】但是其中三张大表无法打开,有一张可以打开但是也会报Region is unavailable,而库里其他的表均可以正常打开和查询。

请问这个问题是文件锁,还是Region损坏,如何查询和分析,由于我经验较少,麻烦附上操作代码,谢谢。
【资源配置】

【附件:截图/日志/监控】

参考这个排查下。
你这个配置,咋感觉不像生产呢。。
数据量有多大?你说的大表有多大?

1.1 客户端报 Region is Unavailable 错误

  • 1.1.1 Region is Unavailable 一般是由于 Region 在一段时间不可用(可能会遇到 TiKV server is busy;或者发送给 TiKV 的请求由于 not leader 或者 epoch not match 等原因被打回;又或者请求 TiKV 超时等),TiDB 内部会进行 backoff 重试。backoff 的时间超过一定阈值(默认 20s)后就会报错给客户端。如果 backoff 在阈值内,客户端对该错误无感知。
  • 1.1.2 多台 TiKV 同时内存不足 (OOM),导致 Region OOM 期间内没有 Leader,见案例 case-991
  • 1.1.3 TiKV 报 TiKV server is busy 错误,超过 backoff 时间,参考 4.3 客户端报 server is busy 错误TiKV server is busy 属于内部流控机制,后续可能不计入 backoff 时间。
  • 1.1.4 多台 TiKV 启动不了,导致 Region 没有 Leader。单台物理主机部署多个 TiKV 实例,一个物理机挂掉,由于 label 配置错误导致 Region 没有 Leader,见案例 case-228
  • 1.1.5 follower apply 落后,成为 Leader 之后把收到的请求以 epoch not match 理由打回,见案例 case-958(TiKV 内部需要优化该机制)。

https://docs.pingcap.com/zh/tidb/stable/tidb-troubleshooting-map#11-客户端报-region-is-unavailable-错误

请问您可以根据我的情况,或者您问一些问题,帮我定位下是哪个故障,您复制粘贴这么多,我们也不知道怎么定位问题呀。

根据你的描述,大概率是这种情况:

1.1.2 多台 TiKV 同时内存不足 (OOM),导致 Region OOM 期间内没有 Leader

先看看tikv的日志,是不是tikv节点频繁宕机;
另外看看慢sql,是不是可以优化下。

我们昨天晚上解决了这个问题,展示修复好了集群,主要的问题是tikv因为错误,写入了300多个GB的日志,导致了节点空间被占满无法启动,另外Region is unavailable,把pd的一些缓存信息清理后,竟然奇迹般的启动了。目前的情况是这样的。

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