TiDB集群从两副本修改为三副本报错

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.1
【复现路径】做过哪些操作出现的问题
1.集群参数已做修改并pd重启:
server_configs:
pd:
replication.max-replicas: 3

2.pd-ctl修改为三副本报错
» config set max-replicas 3
Failed to set config: [400] “cannot to update replication config, the default rules do not consistent with replication config, please update rule instead”

配置:



【遇到的问题:问题现象及影响】
pd-ctl修改为三副本报错
» config set max-replicas 3
Failed to set config: [400] “cannot to update replication config, the default rules do not consistent with replication config, please update rule instead”

SHOW config WHERE NAME LIKE ‘%max-replicas%’;
这个参数现在是多少?

那现在已经是2副本了,等待集群上的副本回收就行了

不是,我要从两副本修改为三副本

那改一下
SET config pd replication.max-replicas=3;
等补充副本吧,你有3个tikv节点,改成3没毛病

试了这种改法,一样会出现此报错Failed to set config: [400] “cannot to update replication config, the default rules do not consistent with replication config, please update rule instead”

https://github.com/tikv/pd/issues/3140

尝试先关闭placement rules 在设置副本数试试。虽然这个bug不应该在6.1.1还有。试试也不亏。

>> pd-ctl config set enable-placement-rules false
>> pd-ctl config set max-replicas 3

如果开启了 placement rules,(Placement Rules 特性在 TiDB v5.0 及以上的版本中默认开启)你这个版本应该是默认开启的。

要么通过 placement rules 接口修改规则,要么关掉 placement rules 设置 max-replicas 设置副本规则。

https://docs.pingcap.com/zh/tidb/v6.1/configure-placement-rules

1 个赞


这应该要缩容tiflash才能关

缩容tiflash,关闭placement rules,再调整max-replicas就可以了

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。