集群从7.6.0升级到8.1.0并扩容,启动报错(急急急急急)

【 TiDB 使用环境】生产环境
【 TiDB 版本】V8.1.0
【复现路径】按照官方文档扩容
大致步骤:

配置scale-out.yml文件:

tidb_servers:
  - host: 192.168.2.241
  - host: 192.168.2.242
tikv_servers:
  - host: 192.168.2.241
  - host: 192.168.2.242
pd_servers:
  - host: 192.168.2.241
  - host: 192.168.2.242


执行环境检查
tiup cluster check yh-tidb scale-out.yml --cluster --user root

关闭SELINUX
sed -i 's/^[[:blank:]]*SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0

执行环境修复
tiup cluster check yh-tidb scale-out.yml --cluster --apply --user root

执行扩容
tiup cluster scale-out yh-tidb scale-out.yml

【遇到的问题:问题现象及影响】
扩容后遇到集群无法启动PD,参考(专栏 - pd集群多副本数据丢失以及修复实践 | TiDB 社区)使用下面的命令强制把新扩容的PD干掉,再启动留下的PD还是报错,报错信息见截图

tiup cluster scale-in tidb-test -N 10.12.16.226:2379 --force

从图中看到一个疑惑:使用tiup cluster display yh-tidb和tiup cluster edit-config yh-tidb,都只有一个PD在,为什么仅剩的PD还要去连接被我强制干掉的另外PD喃

检查三台机器上的防火墙是否关闭或者开通2379端口允许被访问

235到241 242的SSH都是通的,网络也是通的,几台机器的防火墙都是关闭的

刚开始PD也是扩的3台,晚上强制把PD缩成一台(235机器),现在启动235上的PD,PD的日志里面还要去访问241和242的PD-SERVER的2380端口。

telnet 相关服务器的端口通吗?怎么看到的tcp6 ,不应该是tcp4吗?

原来PD TIDB TIKV都是一个节点,在一台机器上,昨天晚上把版本升级到8.1.0,再把PD TIDB TIKV都扩成3个节点,扩完后重启不成功,就强制把PD变成一个节点,重启还是不行

:thinking:如果是启动失败,那就代表配置文件修改后没有下发下去,所以各个节点里还是配置的原节点地址。我是这么理解的

看图片没有error级别的报错吧,这样也不能启动?

和升级没关系,是扩容有问题对吧,看看目前的集群状态呢,tiup cluster display下

新版本可以用这个办法来修复下pd:https://docs.pingcap.com/zh/tidb/stable/pd-recover#方式一从存活的-pd-节点重建集群

原本1,1,1的架构?你是不是没有停机升级

统一回复
再经过TIDB官方的“升级导师军军”指导下,通过如下步骤,恢复到了以前的单机状态

扩容是不行了,通过以下步骤,恢复到了原来的单机:
1.把备份的pd-2379数据目录恢复
2.执行./bin/pd-server --force-new-cluster --name=pd-192.168.2.235-2379 --client-urls=http://0.0.0.0:2379 --advertise-client-urls=http://192.168.2.235:2379 --peer-urls=http://0.0.0.0:2380 --advertise-peer-urls=http://192.168.2.235:2380 --config=conf/pd.toml
3.把TIKV TIDB扩容的节点强制干掉
tiup cluster scale-in yh-tidb -N 192.168.2.241:20160 --force
tiup cluster scale-in yh-tidb -N 192.168.2.242:20160 --force
tiup cluster scale-in yh-tidb -N 192.168.2.241:4000 --force
tiup cluster scale-in yh-tidb -N 192.168.2.242:4000 --force
4.重新reload集群
tiup cluster reload yh-tidb --force

后续计划:
接下来还是单独部署一个集群,把数据迁移过去,后面在测试环境再验证一下在线扩容的步骤

3 个赞

为什么不行扩容啊?

pd不能3缩容成1个吧,除非你开始就装一个

确实1开始就只装了一个

pd可以从3个缩容成1个,tikv不能从3个缩容成1个

看看集群状态

8.1是稳定版了吗?

8.1 是 LTS 版本,可以用于生产环境,8.1.1 已上线,可以安装这个版本

已经开始搞8.1了么,今天升级7.5

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