【 TiDB 使用环境】
线上环境
【 TiDB 版本】
v4.0.12
【遇到的问题】
日常运维过程中,发现个别KV节点的磁盘使用率超高,监控中出现大量的Empty region,
根据文档和以往的帖子操作了 Store Limit、enable-cross-table-merge、max-merge-region-keys、max-merge-region-size、region-schedule-limit等,都不见效果。
【复现路径】
【问题现象及影响】
【附件】
请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。
hengpu-cluster-PD-1658385668172.json (217.4 KB) hengpu-cluster-PD_2022-07-21T06_58_41.869Z.json (16.0 MB)
2 个赞
长安是只喵
(长安是只喵)
2
跨表合并region开启了么?
enable-cross-table-merge
https://tidb.net/blog/0b1b8ff3
patrol-region-lnterval也调小试试
tidb中key-type应该默认为table吧,这个从来没改过的。
这个已经从100ms改为了10ms了,还是没有效果
foxchan
(银狐)
8
查看tikv 参数
split-region-on-table 是否为false,
重启tikv
条件允许的话,可以驱逐一个tikv leader 为0 后,重启下tikv
通过show config,在线查询 coprocessor.split-region-on-table 就是 false
长安是只喵
(长安是只喵)
10
我发的FAQ里的其他参数也试试,我当时也是按照这个FAQ最后将empty region清零的
是否部分磁盘使用率高,达到了这两个参数的阀值
如果是就调整这两个参数,
看你的参数应该是磁盘60%就会有问题
是有节点磁盘使用率过高,但是有节点使用率不高,所以目前怀疑是empty-region造成的。如果修改了这个参数,导致节点分数计算问题,是不是可能会导致雪崩发生。
临时解决办法,手动创建一些operator来merge region
echo 'tiup ctl:v4.0.12 pd operator add merge-region '`tiup ctl:v4.0.12 pd region check empty-region --pd 10.1.48.44:2379 | jq '.regions[].id' | tail -1000 | xargs -l2`
这个参数在4.0以后应该是默认为false了,这个参数在配置文件中没有配置,查询出来已经设置为false了。还是没有用。
可以新增节点,然后调整参数,等待集群自动平衡,我之前遇到的是这样,雪崩应该不会,只是调高阀值一点。
看你上面所有的操作都做过,但是没用是吧?
看下grafana上pd的监控,看看关于region的operator有没有生成啊。
我遇到过类似问题,怎么调storelimit,缩短merge时间都不管用,最后切了一下pd的leader就嗖嗖的merge起来了。
你可以试试
可能是奇技淫巧,但是你上面的各种操作都做了,也就只能死马当活马医了,可以一试。
切换leader的命令:
pd-ctl -i
member leader show
#将 leader 从当前成员移走:
>> member leader resign
#将 leader 迁移至指定成员:
>> member leader transfer pd3
1 个赞
h5n1
(H5n1)
19
empty region是GC在对drop/truncate对象处理后产生的。看empty region讲课趋势是往下走的 ,只是region合并的较慢,可以在调大参数看看 region-schedule-limit:2048 ,merge-schedule-limit=64