SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 9, 2023, 6:55am
#1
【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.0
【遇到的问题:问题现象及影响】
我想升级TIDB版本到最新版,检查集群时集群状态报错。
Checking region status of the cluster loantidb…
Regions are not fully healthy: 14 pending-peer
Please fix unhealthy regions before other operations.
我提供了pd-ctl region check pending-peer 和监控截图。
请问如何将pending-peer状态消除?谢谢大家。
重启了TIKV还是这样。
【资源配置】
【附件:截图/日志/监控】
pending_peer14.txt (17.8 KB)
WalterWj
(王军 - PingCAP)
January 9, 2023, 7:07am
#2
pending 一般含义是指 tikv 这边压力过大,有排队堵塞。
这种情况不常见,是不是 compact 被异常关闭了?
WalterWj
(王军 - PingCAP)
January 9, 2023, 9:08am
#4
WalterWj
(王军 - PingCAP)
January 9, 2023, 9:09am
#5
集群有用过 lightning 或者修改过 tikv compact 相关配置么?还有集群压力大不大。一般都正常的话 很少会有 pending 的,pending 时间久了就应该会有 down peer 了。。。。。
WalterWj
(王军 - PingCAP)
January 9, 2023, 9:09am
#6
看了一眼监控 你集群里面确实有 down peer。
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 9, 2023, 9:35am
#7
tikv-ctl 这个是每个tikv都需要安装吗?还是说只需要在其中一台上面执行就可以了?麻烦了。
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 9, 2023, 9:42am
#8
没有做lighting和修改,只是开发那边经常批量删除,用的那个batch delete命令。应该是那个影响的,就是不知道这个pending-peer多久会消失。
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 9, 2023, 9:45am
#9
并且我给一段时间执行region check pending-peer后的内容都是不一样的,但是pending-peer的条数都是14条,也不知道里面在干什么。集群只是每天会定时导入数据,大部分时间都是空闲的。
WalterWj
(王军 - PingCAP)
January 9, 2023, 9:48am
#10
你可以拉开监控 比如看个 3 天的,看看有没有什么时间段 down 和 pending peer 都是消失的,有的话挑那个时间段去升级。
tikv 当前有做什么特殊配置么?也可以发来看看呐。
或者手动做下集群的 tikv compact:https://docs.pingcap.com/zh/tidb/dev/tikv-control#通用参数
可以看看能否解决,不过需要非业务时间段做。
WalterWj
(王军 - PingCAP)
January 9, 2023, 9:49am
#11
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 9, 2023, 10:09am
#13
数据导入是开发写了一个java项目从其他地方拉取数据文件,然后再项目里面进行清洗后生成一个csv文件,每天执行一次每次大概300M的csv文件,java项目读取csv后生成sql,然后insert进TIDB的。
WalterWj
(王军 - PingCAP)
January 10, 2023, 3:36am
#14
看了一眼 调整了好多 tikv 的配置,一般不推荐自己调整 raft 和 rocksdb 相关配置的 哎。
WalterWj
(王军 - PingCAP)
January 10, 2023, 3:41am
#15
split-region-check-tick-interval
– 没有必要调整 300 吧
检查 region 是否需要分裂的时间间隔,0 表示不启用。
默认值:10s
最小值:0
https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file/#disable-auto-compactions
而且你关闭了 compact,调整下,开启 compact,手动可以用 tikv-ctl 做下 cluster compact。
不推荐改这些东西。
WalterWj
(王军 - PingCAP)
January 10, 2023, 3:43am
#16
compact 不能关的,compact 是底层数据文件整理压缩,你关了 数据连 gc 都没法做的。
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 10, 2023, 3:52am
#17
好的,谢谢大佬,我马上改了重启一下tidb,然后观察一下。
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 10, 2023, 4:14am
#18
改了你说的两个参数:
raftstore.split-region-check-tick-interval: 30s
rocksdb.defaultcf.disable-auto-compactions: false
重启了tidb后,监控界面其他都还显示,但是pending-peer什么的没显示了:
WalterWj
(王军 - PingCAP)
January 10, 2023, 5:03am
#19
感觉你的监控有点问题,compact 应该没那么快搞完
SoHuDrgon
(Ti D Ber Hr W2zw V1)
January 10, 2023, 5:27am
#20
看着好像可以了,我重启了一下prometheus。
然后check了一下pending-peer:
Starting component ctl
: /root/.tiup/components/ctl/v6.1.0/ctl pd -i -u http://127.0.0.1:2379
» region check pending-peer
{
“count”: 0,
“regions”: []
}
最后检查集群:
Checking region status of the cluster loantidb…
All regions are healthy.
非常感谢大佬。
升级也快速完成了: