TiDB3节点集群,主动挂起一台服务器,查询表数据报 SQL 错误 [9005] [HY000]: Region is unavailable

【TiDB 使用环境】测试
【TiDB 版本】v8.5.0
【操作系统】统信操作系统
【部署方式】3台机器部署(每台251G内存、96核)
【集群数据量】测试环境 数据量不大
【集群节点数】3节点
【问题复现路径】
(1)正常3节点集群拓扑

(2)手动拔掉68的服务器电源,测试单节点断电。


(3)此时业务涉及到查询表数据的,都会报 Region is unavailable的错误


(4)查询67节点上pd和tikv的日志
tikv


pd

【遇到的问题:问题现象及影响】
正常来说,3节点集群,挂掉一台,查询表中数据都能正常,现在出现挂掉一台查询报错。
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

1 个赞

region leader切换完成之后应该就不会报错了吧,切换过程中报这个错误应该是预期内的

集群配置有问题吧

应该是region设置问题

找不到leader了

region不可用了

看样子是不找到leader了

查查几副本。

看下监控里面异常region的数量

:joy:grafana得启动,要不没法看监控。69也得起来,要不看不了Dashboard

很好的测试思路,期待后续,监控在68上,肯定用不了了。

db,pd,kv都是三节点,部署的时候是不是默认的副本也都是3,这个需要确认一下

权限问题

集群配置检查下

嗯嗯~

这种情况直接缩容再扩容就行

会自动自动transfer leader 后,再补副本

参考下 博客 - Region is unavailable的排查总结 | TiDB 社区 的内容,顺着思路捋捋

是之前这个3台服务器是3节点部署的,后面其中那台撤走了,做过缩容,然后最大副本数就设为了2,现在又扩容回来了,扩容后配置最大副本数没设回3,所以才这样,现在设为3了就OK :saluting_face:

:joy:可算是破案了,怪不得会出现这种问题。