使用TIUP升级TIDB 4.0报错

Error: test -d /data1/deploy/bin.old.v3.1.0-rc || cp -r /data1/deploy/bin /data1/deploy/bin.old.v3.1.0-rc: executor.ssh.execute_failed: Failed to execute command over SSH for ‘tidb@192.168.30.33:22’ {ssh_stderr: cp: 无法创建目录 ‘/data1/deploy/bin.old.v3.1.0-rc’: 文件已存在 , ssh_stdout: , ssh_command: PATH=$PATH:/usr/bin:/usr/sbin test -d /data1/deploy/bin.old.v3.1.0-rc || cp -r /data1/deploy/bin /data1/deploy/bin.old.v3.1.0-rc}, cause: Process exited with status 1

Verbose debug logs has been written to /home/tidb/logs/tiup-cluster-debug-2020-06-08-14-21-23.log. Error: run /home/tidb/.tiup/components/cluster/v1.0.3/tiup-cluster (wd:/home/tidb/.tiup/data/S1IZT5K) failed: exit status 1

tiup-cluster-debug-2020-06-08-14-21-23.log (99.7 KB)

  1. 请问是从哪个版本升级到哪个版本?
  2. 查看报错,是升级过多次吗?

BackupComponent: component=tikv, currentVersion=v3.1.0-rc, remote=192.168.30.33:/data1/deploy", “error”: "test -d /data1/deploy/bin.old.v3.1.0-rc || cp -r /data1/deploy/bin /data1/deploy/bin.old.v3.1.0-rc: executor.ssh.execute_failed: Failed to execute command over SSH for ‘tidb@192.168.30.33:22’ {ssh_stderr: cp: 无法创建目录 ‘/data1/deploy/bin.old.v3.1.0-rc’: 文件已存在\

1.从3.1-RC升级4.0.

2.第一次升级

  1. tiup cluster display cluster-name 麻烦反馈下当前的集群状态
  2. ls -l /data1/deploy/bin.old.v3.1.0-rc 查看文件是否以及存在,多谢。

1.参考截图

2.确实是存在的

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200608150036

是不是TiKV和TiFlash在同一台机器,所以这个文件夹才会冲突的。看这个文件夹的创建时间,就是我运行升级脚本的时候创建的。

你好,这个错误是因为单机多实例部署且 deploy_dir 混用的情况下(从 ansible 导入的集群比较常见这种情况),第一个实例备份了目录,第二个实例尝试备份时候可能因为文件已存在而出错,报错本身我们是忽略的,但从日志看部署机使用了中文 LOCALE, 所以没有匹配到对应的错误消息,我们在后面的版本会对这里再额外处理来避免中断流程

当前可以在对应部署机上设置 LANG=en_US.UTF-8 或其他英语 Locale 来绕过(或者可以尝试手动把那个目录重命名看是否能绕过)