PD扩缩容成功后,执行create index语句报错ERROR 1105 (HY000): DDL job rollback, error报错

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v7.1.1
【复现路径】
1.
原来有3台pd,扩容了新的3台,把leader切换到了新的pd上,并且把旧的3台pd缩容了,缩容过程中无异常,现在集群状态也显示正常。在tidb执行语句时,建表语句,增删改查语句,alter的普通语句均正常,但是只要执行加索引的语句就报错。ERROR 1105 (HY000): DDL job rollback, error msg: pd address (192.168.xxx:2379,192.168.xxx:2379,192.168.xxx:2379) not available, error is Get “http://192.168.xxx:2379/pd/api/v1/config/cluster-version”: dial tcp 192.168.xxx:2379: connect: connection refused, please check network。且以上报错的ip是已经被缩容的3台pd.

2.查看pd的配置:

initial-cluster 配置中的pd依旧存在旧的三台,且只有一台是新机器
join 配置中全部是原来的3台,没有新机器

【遇到的问题:问题现象及影响】
扩缩容后的新集群,只要执行创建索引的语句就报以下错误

pd ctl 执行下
member 以及如何切换到leader

tidb_ddl_enable_fast_reorg 这个变量设置为off后试试

initial-cluster和join配置中是不是应该包含所有的PD节点,包括新扩容的和旧缩容的

这个之前切过了,pd的leader也在新的机器上面,tiup看状态也是正常的,只有新机器,就是进到pd里,只有initial-cluster和join这两个参数后面显示老的pd

现在的状态时initial-cluster只有3台老的和一台新的,这台新的现在是leader,另外两台新的没有。然后join后面的3台都是老的。

这个参数会有影响吗?

截图看下 member
然后可以尝试 member leader resign

pdctl执行以下member还能看到原来的三个节点吗?

看不到了,membe就是正常的,只有那个initial-cluster和join不正常

实在不行,只能reload下pd节点试试了

该问题已解决。问题的主要原因是扩缩容之后,其余节点需要全部reload一遍,更新最新配置,不然还是会去找老节点的配置进行操作。全部reload之后已经没有报错。

1 个赞

需要reload这应该不是一个正常行为,应该还是哪块有问题

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