课程名称:课程版本(201)+ 2.5.3 Usage of PD control(PD Control 的典型使用场景)
学习时长:30分钟
课程收获:了解PD调度的作用以及各种命令
课程内容:
1.PD Control概述,
1)启动方式:
tiup ctl pd -u http://pd_ip:pd_port [-i]
tidb-ansible/resources/bin/pd-ctl -u http://pd_ip:pd_port [-i]
2) 常用参数:
-detach -d 简单命令模式(默认模式)
-interect -i 交互模式访问PD
-pd -u 指定PD的地址 默认是http://127.0.0.1:2379
3) 得到PD Server信息,可以通过查看TiDB或者TiKV的进程,也可用tiup cluster display cluster_name进行拓扑查看
2.获取PD信息的方法:
1)cluster: 获取集群PD当前的状态
2)member:返回集群ID以及成员信息
3)member leader show: 返回当前PD 的Leader
4) health: 查看当前PD 集群的健康状态
5) tso: 将tso转换成时间
6)member leader resign: 重新选举leader
7) member leader transfer: 更改leader
8)member leader_proirity <pd_name> 调整被选举为Leader的优先级
9)member delete name <pd_name>/id <pd_id> 删除一个PD成员
10)store: 返回TiKV的相关信息
11)region:region返回当前集群所有region的信息,region 返回指定region的信息 region store <store_id>返回某个store上的region
12)label: label返回store label的信息,label store dc <dc_name>返回DC的label信息
13)store weight:调整权重值, <leader_weight> <region_weight>
13)store label: 修改label的value值 store label 1
13)store delete <store_id>: 删除store
3.调度配置:
1)调度性能配置:
leader-schedule-limit: 控制同一时间有多少个任务调度leader
replica-schedule-limit: 控制同一时间有多少个任务调度replica
hot-region-schedule-limit: 控制同一时间有多少个任务调度hot-region
merge-schedule-limit: 控制同一时间有多少个任务调度merge
max-snapshot-count: 控制TiKV最大的snapshot数量
tolerant-size-ratio: 平衡缓存的大小,方便region均衡的存储
2)Region merge limit:
max-merge-region-keys: region小于多少个key会发生merge
max-merge-region-size: region小于多少兆会发生merge
3) Rebalance Timer
max-store-down-time: 默认是30分钟,如果宕机在30分钟之内可以拉起,不会出现大面积数据迁移
4.修改调度配置:config set 例如:config set region-schedule-limit 28
5.控制调度策略:
scheduler add grant-leader-scheduler <store_id>
scheduler add evict-leader-scheduler <store_id>
scheduler add shuffle-leader-scheduler
scheduler add shuffle-region-scheduler
scheduler show
scheduler remove grant-leader-scheduler
6.调度操作:
operator show admin/leader/Region
operator add add-peer <region_id> <store_id>
operator add remove-peer <region_id> <store_id>
operator add transfer-leader <region_id> <store_id>
operator add transfer-region <region_id> <store_id1> <store_id2> <store_id3>
operator add transfer-peer <region_id> <store_id> <target_store_id>
operator add merge-region <region_id1> <region_id2>
operator add split-region <region_id> --policy=approximate
operator add split-region <region_id> --policy=scan
operator remove <region_id>
7.Store Limit Config(默认值是15):
store limit
store limit <store_id> region-add / store limit <store_id> add-peer (>=4.0.2)
store limit <store_id> region-remove / store limit <store_id> remove-peer (>=4.0.4)
store limit all region-add / store limit all add-peer (>=4.0.2)
store limit all region-remove / store limit all remove-peer (>=4.0.2)
config set store-balance-rate
学习过程中参考的其他资料
- [PD Control 使用说明]https://docs.pingcap.com/zh/tidb/stable/pd-control