Regions are not fully healthy: 1 pending-peer

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
【背景】做过哪些操作
tidb4.0.0打算使用tiup升级,校验后发现Regions are not fully healthy: 1 pending-peer

【现象】业务和数据库现象

【业务影响】
【TiDB 版本】4.0.0
【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

  • 对应模块日志(包含问题前后1小时日志)
1 个赞

这个报错表示集群中存在 miss-peer的情况,可以通过 grafana pd 监控中的 region health 了解 region 的健康状态,理论上 miss peer 会呈现下降趋势:

1、grafana pd 监控指标官方文档

https://docs.pingcap.com/zh/tidb/stable/grafana-pd-dashboard#pd-重要监控指标详解

2、pd-ctl check 子命令获取 miss-peer region 的详细信息:

https://docs.pingcap.com/zh/tidb/v4.0/pd-control#region-check-miss-peer--extra-peer--down-peer--pending-peer--offline-peer--empty-region--hist-size--hist-keys

1 个赞

我的不是miss peer 是1 pending-peer,查询是能查询pd里面的信息,怎么解决呢?

1 个赞

pd-ctl region check pending-peer 看看

1 个赞

方法相同,最终都是需要找打peer信息异常的region
方法:

region check [miss-peer | extra-peer | down-peer | pending-peer | offline-peer | empty-region | hist-size | hist-keys]

用于查询处于异常状态的 Region,各类型的意义如下

  • miss-peer:缺副本的 Region
  • extra-peer:多副本的 Region
  • down-peer:有副本状态为 Down 的 Region
  • pending-peer:有副本状态为 Pending 的 Region

登录 pd-ctl

region check pending-peer

为啥有个offline的store

{
“count”: 1,
“regions”: [
{
“id”: 71253,
“start_key”: “7480000000000007FF8C5F698000000000FF00000D01E5B9BFE6FFB1BDE6B1FF87E790FF86E6B1BDE8FFBDA6FFE98791E89E8DFFE6FF9C89E99990E585FFFFACE58FB800000000FFFB03800000001014FF508D000000000000F9”,
“end_key”: “7480000000000007FF8C5F698000000000FF00000D01E5B9BFE8FFA5BFE586FF9CE59EFFA6E99B86E5FF9BA2FFE69C89E99990FFE8FFB4A3E4BBBBE585FFFFACE58FB800000000FFFB038000000001ECFF75FE000000000000F9”,
“epoch”: {
“conf_ver”: 14,
“version”: 941
},
“peers”: [
{
“id”: 71255,
“store_id”: 4
},
{
“id”: 71256,
“store_id”: 1
},
{
“id”: 55160493,
“store_id”: 169217
}
],
“leader”: {
“id”: 55160493,
“store_id”: 169217
},
“down_peers”: [
{
“peer”: {
“id”: 71255,
“store_id”: 4
},
“down_seconds”: 39622
}
],
“pending_peers”: [
{
“id”: 71255,
“store_id”: 4
}
],
“written_bytes”: 0,
“read_bytes”: 0,
“written_keys”: 0,
“read_keys”: 0,
“approximate_size”: 93,
“approximate_keys”: 878041
}
]
}

“pending_peers”: [
{
“id”: 71255,
“store_id”: 4
}
],
个 store 上的 region 副本用pd-ctl operator add remove-peer <region_id> <from_store_id> 清理下

需要手动删掉吗?怎么判断出它是有问题的,麻烦深入讲一下

打印出的Pending 的 Region怎么处理?

一个region(region_id)有3个副本,一个副本叫做一个peer(peer_id),pending的是peer,手动清理下,然后让系统自动补充副本

删除会不会影响tidb或者丢数据?

正常不会
region“id”: 71253下有 “id”: 71255, “store_id”: 4 “id”: 71256,“store_id”: 1 “id”: 55160493,“store_id”: 169217 3个Peer, 71255是pending的,删除了也是多数可用的

删不了

region“id”: 71253

需要直接删掉region吗?tiup ctl:v5.2.3 pd --pd=http://192.168.1.151:2379 operator remove 71253

$ pd-ctl operator add remove-peer --help
remove a region peer on specified store 从指定store上删除region的Peer

Usage:
pd-ctl operator add remove-peer <region_id> <from_store_id>


还是不行

看下pd 和store 4的tikv日志,按71253 这个region号看看有啥信息,一直Pending的

我的集群有3个tikv,现在怎么4个store。