tidb v4.0.14使用tiup升级到v4.0.16,ansible-imported-configs:no such file or directory

【 TiDB 使用环境`】生产

【 TiDB 版本】v4.0.14 -> v4.0.16

【遇到的问题】
升级tidb过程中遇到这个问题,日志:
Error: init config failed: ip:port: open /home/tidb/.tiup/storage/cluster/clusters/<cluster_name>/ansible-imported-configs/pd-ip:port.toml: no such file or directory

接手的一个老集群因为碰到pd选主的bug需要升级到4.0.16(https://github.com/tikv/pd/issues/4146),这个集群最初应该是通过ansible管理的,后面迁移到tiup后由并不熟tidb的我管理… 目前看到/home/tidb/.tiup/storage/cluster/clusters/<cluster_name>/ansible-imported-configs这个目录并不存在(另外几个从ansible导入的集群存在这个目录),现在有两个疑问:

  1. 我现在需要将这个集群从ansible导入到tiup?但是这个集群已经被tiup管理了,所以之前应该已经导入过,再次导入是否有副作用?
  2. 如果不需要再次导入,那么通过什么办法可以绕过现在这个问题呢?
1 个赞

你这个集群应该不是使用ansible部署的吧?
如果集群已经被tiup接管,可以用tiup升级,tiup cluster upgrade,具体参考 tiup cluster upgrade | PingCAP Docs

2 个赞

我是使用tiup cluster upgrade这条命令进行的升级遇到的问题,另外我注意到meta.yaml文件中imported这个配置项为true,修改为false是否可以解决这个问题?

1 个赞

你使用 tiup cluster edit-config <cluster-name> 看看能不能正常打开编辑

1 个赞

针对你提到的两个问题,

  1. 如果原集群的ansible目录还在的话,可以重复导入,不过会导致tiup中出现两个同名的集群,不过我记得会提示警告,然后要你输入一个新的名字,对集群没有影响;
  2. 绕过的话,我暂时不知道,不过你说的meta.yaml里面的importer改为false能不能成,我也不知道,因为你这个情况没碰到过,回头有空试试;
2 个赞