Status code was -1 and not [200]: Request failed: <urlopen error [Errno 111] 拒绝连接

1.使用ansible启动报错:


2.换顺序启动188、189pd-server的时候,都是188可以启动,189启动失败
(188 pd-server是替换的189的pd-server)

你好,

你的问题这边已经反馈,正在分析,请稍等

@liulang 你好,我是 PD 这边的相关开发人员。从现象和日志分析,我这边猜测是有些 PD 数据已经升级到新版本,再用旧版本 PD 启动时会报错。主要表现在 199 启动时会 panic,这是因为 etcd 遇到了不认识的操作指令导致。这个操作指令我猜测是新版本 PD 留下的。

不过上述都是猜测,想要弄清楚成因,需要理清楚以下问题:

  1. 升级出错的报错信息是什么?
  2. 有哪些节点升级了,哪些节点失败了? 189 节点是否曾经升级过?
  3. 新启动的 189 节点是否会直接 panic ?

如果确认有些节点升级成功过,那么根据升级文档的说明,是无法支持回退到 2.1.x 的版本的,解决这个问题的思路只有解决升级过程中的问题,继续升级。

1.ansible.log (372.2 KB) fail.log (900 字节)

您好,这俩文件是您看看。

2.上次查看过只有188的pd-server升级到3.0.2,其余的节点都是2.1.8的

3.无论怎么样,189这个节点的pd-server都起不来。

你好,

你的问题这边已经反馈

你好,188 节点升级过,也有可能影响 189。 189 节点用新版本也无法启动吗?报错跟旧版本是否一致?

您的集群是否是线上环境,能否方便尝试关闭服务,重新部署,启动服务?

189启动时提示联不通188节点,所以不能启动。 集群是测试环境,但是有必要的数据,所以不可以重新部署

  1. 您好,看帖子,之前应该只有188的pd 升级成功了对吧。 然后把188的pd-server替换回了2.1版本。 当前不能降级,所以请再把188的替换为你备份的升级成功的3.0版本。 然后,继续升级其他节点。
  2. 保证将所有节点升级到统一。 请尝试继续升级,如果升级报什么错,麻烦再反馈下,我们来查看,多谢

1.pd替换会3.0.2版本的了

2.继续升级,报这个错误,跟之前的一样

  1. 现在报错的是188,这个已经升级成功了,你在升级时加上 -l xxx -t pd 单独升级189的pd到3.0版本
  2. 等升级成功以后,再用rolling update升级一次,将tikv 和 pd 升级上去。

ansible-playbook rolling_update.yml -l 192.168.1.189 -t pd 命令是这么写呢吧?

  1. 把到189的pd目录 /scripts下,执行下 start_pd.sh , 看下能否单独启动189, 多谢。 2 .如果启动报错,试下把188关闭,按照这种方式,在目录下执行stop_pd.sh. 在启动188
  2. 如果还是无法启动,麻烦反馈下单独启动189 pd的日志,多谢

189pd.txt (6.7 KB)

单独启动189 没有任何响应,日志中提示连不到188的pd

@liulang

从 189pd.txt 日志看,pd 版本还是 2.1.8。另外,我看以前的日志,189 启动会panic,现在看已经没有了。

另外,我说的重新部署,不是指删除原来的数据,而是通过停止服务来实现

重新部署流程:

  1. stop 当前集群
  2. deply 新的版本
  3. 启动新的集群。

这种情况下不会破坏数据。

如果无法接受重新部署,或者重新部署也有问题。需要逐步分析一下故障原因。

  1. 确保所有 PD 节点都是 3.0.2 的版本
  2. 189 无法启动是因为连不上 188,那么 188 是无法启动还是启动之后又挂掉了?麻烦提供一下 188 的日志。
  3. 不启动 188, 只启动另外两个节点,是否能够正常启动?

意思是执行这个流程吗?


这样不是会将之前的目录文件都覆盖掉吗?

188启动是正常的呢,只是189启动时提示连接不上188。
因为最初只有188一个节点的pd+tidb,后来测试扩容操作,将189也加入到了集群,所以只有这么两个节点。
pd.log (76.3 KB)

不是,

检查 inventory 文件配置和版本是否符合预期,然后只是执行:

  1. ansible-playbook stop.yml
  2. ansible-playbook deploy.yml
  3. ansible-playbook start.yml

deploy 只会替换 binary 和 一个系统文件之类的。不会动数据。

现在inventory.ini是这个的,后面都是默认的。

image

集群起来了。谢谢各位:handshake::handshake:

1 个赞

ok,这边也是建议升级到 3.x 版本或者是 4.x 版本,使用 tiup 运维会更轻松更便捷

好的好的。