tidb2.1.8升级3.0.2报错

[192.168.1.188]: Ansible FAILED! => playbook: excessive_rolling_update.yml; TASK: get PD name; message: {“changed”: false, “content”: “”, “msg”: “Status code was -1 and not [200]: Request failed: <urlopen error [Errno 111] 拒绝连接>”, “redirected”: false, “status”: -1, “url”: “http://192.168.1.188:2379/pd/api/v1/members”}

麻烦检查一下当前 192.168.1.188 的 PD 的状态是否正常。这边检查 pd 的 api 能否正常访问?

请问怎么操作呢?

  1. 麻烦登录到 192.168.1.188 这个机器,ps -ef |grep pd-server 看看具体的服务有没有存活
  2. curl http://192.168.1.188:2379/pd/api/v1/members 看看有没有正常的结果返回
  3. 检查这个机器的 pd 的 日志 {pd_deploy_path}/log/pd.log 有没有具体的错误日志输出。


  1. 麻烦先用旧版本的 ansible 先 ansible-playbook start.yml 把原来旧版本的集群拉起。
  2. 使用新版本的 ansible-playbook excessive_rolling_update.yml -vvv 再进行升级尝试。

  1. 看起来是复制 binary 文件的时候的问题。麻烦确认一下。新版本 {ansible_deploy_path}/resource/bin/pd-server 文件是否存在。
  2. 麻烦确认下新版本的 ansible-playbook local_prepare.yml 有没有正确执行,如果没有执行麻烦执行一下。

根据 2 步骤执行了,然后又出了新的问题

你好,

  1. 可以将 ansible-playbook local_prepare.yml -vvv 返回结果上传看下,
  2. 看目标服务器 pd-server 是否已经关闭,可以尝试手动关闭,在执行上述命令

ansible-playbook local_prepare.yml这个命令没有问题,执行ansible-playbook excessive_rolling_update.yml这个的时候产生的报错

你好,

将 ansible-playbook excessive_rolling_update.yml -vvv 结果上传下,这边分析下。

提供下 pd 节点的 pd.log 这边看下。

pd.log.txt (32.1 KB) v结果.txt (7.8 KB)

你好,

你的问题这边已经收到,正在分析请稍等。

没事,不急

你好,

到失败节点看下进程有没有停掉:如果停掉了,看端口是不是被其他进程占用;