系统断电,来电后重启tidb,发现有个PD health page不可用,导致启动报错

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本】CentOS Linux release 7.6.1810 (Core) 3.10.0-957.el7.x86_64
  • TiDB 版本】 v3.0.0
  • 磁盘型号】普通磁盘
  • 集群节点分布】2tidb 3pd 3tikv,5台机器,2台部署tidb,其余3台部署pd tikv
  • 数据量 & region 数量 & 副本数
  • 问题描述(我做了什么)】系统断电,来电后重启系统,有个pd启动报错。
  • 关键词】断电,重启,PD 报错

报错信息如下: [2019/10/10 16:29:36.207 +08:00] [WARN] [server.go:1853] [“failed to publish local member to cluster through raft”] [local-member-id=4d28c40c8cb2ca4c] [local-member-attributes="{Name:pd_node02 ClientURLs:[http://192.168.10.110:2379]}"] [request-path=/0/members/4d28c40c8cb2ca4c/attributes] [publish-timeout=11s] [error=“etcdserver: request timed out”]

排查问题方向:

  1. 当前问题应该还是 PD 集群服务存在异常,可以通过 pd-ctl 确认一下 pd 集群状态是否正常;
  2. 如果单个 pd 节点掉电,可能 pd 节点的 etcd 里面存储数据和 etcd 集群差距太大,那么只能做缩容再扩容处理将 PD 加 PD 集群中。

很奇怪,放了一晚上,早上来把集群重新关闭再启动,然后PD启起来了