【问题澄清】
-
TiDB v4.0.0-rc.2、1 pd / 3 tikv / 1 tidb
-
集群启动时 pd 自定义参数
max-replicas: 5
。并开启replication.enable-placement-rules: true
,启用 TiFlash。 -
执行
ALTER TABLE
tpch50.
lineitemSET TIFLASH REPLICA 1
创建tpch50
.lineitem
表在 tiflash 1 副本
【现象】
- 通过
SELECT * FROM information_schema.tiflash_replica WHERE TABLE_SCHEMA = 'tpch50' and TABLE_NAME = 'lineitem';
查看同步进度PROGRESS
为0
;
【解决办法】
-
通过
pd-ctl -u http://<pd-ip>:<pd-port> config placement-rules show
确认 group: default 中 count 参数值。 -
通过以下 api 来修改 placement rules 的值
小于等于
集群TiKV
节点数。
curl -X POST -d '{
"group_id": "pd",
"id": "default",
"start_key": "",
"end_key": "",
"role": "voter",
"count": 3,
"location_labels": [
"host"
]
}' http://172.16.5.169:22379/pd/api/v1/config/rule
或者用文档中的方式,先写成 rules 文件,在使用 pd-ctl 导入:
https://pingcap.com/docs-cn/stable/configure-placement-rules/
【知识点引入】
- 开启 Placement Rules 后,原先的
max-replicas
及location-labels
配置项将不再生效。如果需要调整副本策略,应当使用 Placement Rules 相关接口。 - 集群初次启动之后,请通过 pd-ctl 修改 pd 参数。