往一张表大量插入数据的时候报region不可用

往一张表大量插入数据的时候报region不可用,一般是啥情况引起的
Cause: java.sql.SQLException: Region is unavailable ; uncategorized SQLException; SQL state [HY000]; error code [9005]; Region is unavailable; nested exception is java.sql.SQLException: Region is unavailable

https://docs.pingcap.com/zh/tidb/v6.5/tidb-troubleshooting-map#11-客户端报-region-is-unavailable-错误
看看这个

1 个赞

结合监控看看,定位是啥问题

看看tidb错误日志,应该也有记录的,刚这点信息判断不了问题

tikv相关日志,也需要发一下

TiDB 集群的负载过高,可能会导致无法处理新的请求,从而出现 “Region is unavailable” 错误

TiKV 节点故障:TiDB 数据库使用 TiKV 作为存储引擎。 如果某个 TiKV 节点发生故障或无法访问,则对应的 Region 可能会变得不可用。 您可以检查 TiKV 节点的状态以确保所有节点均已启动并运行,并检查 TiKV 日志以获取更多详细信息。

数据倾斜:插入数据时,如果某个Region负载过大,可能会导致该Region不可用。 这可能是数据倾斜造成的,即部分数据集中在某个Region上,导致该Region过载。 数据倾斜问题可以通过合理分片和调整数据来解决。

Raft Leader 切换:TiKV 使用 Raft 算法实现数据复制和高可用性。 如果插入数据时发生Raft Leader切换,可能会导致当前Leader不可用,从而出现“Region is unavailable”错误。 这通常是正常的集群运维操作,但可能会影响当前的插入操作。 正常情况下,等待一段时间,TiKV 集群会自动恢复正常。

非常完善

嗯,是tikv节点故障引起对的,两个大表不小心非唯一key join导致的

tikv oom了? 你内存多大,block-cache设置多少?

是两个大表不是唯一key去查导致oom重启了

是的,oom重启了

发一份 tikv-details metrics? PingCAP MetricsTool

高级了,又喜提新工具链接一枚,感谢。

https://docs.pingcap.com/zh/tidb/stable/exporting-grafana-snapshots

1 个赞