单服务添加新服务

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:V 3.0.7
  • 【问题描述】:在一台已有TIDB服务的服务器上想新加PD服务如何操作

可以参考一下官方的扩容文档:

我是按照手册来的

请问是遇到什么问题吗?

现在监控显示起来了,可是为什么./resources/bin/pd-ctl -u “http://新加IP:2379” -d member 会不同

而且看./resources/bin/pd-ctl -u “http://Join ip :2379” -d member 并没有 新加的ip

  1. 不同是指 pd-ctl -u “http://{join_pd_ip}:2379” -d member 与 pd-ctl -u “http://{old_pd_ip}:2379” -d member 的结果不一样吗?
  2. 检查一下 新加入的机器的 PD 的日志有没有报错信息。
  3. 检查一下 scripts/run_pd.sh 是否有按照文档修改正确

1、join_pd_id 获取不到信息,old_pd_ip 只有old_pd的信息,我猜测应该是并未加进去 2、

3、image 按照手册改了run_pd.sh

可能该服务器上之前存在 pd 目录没有清理干净,导致 pd 仍然使用之前的 cluster id,建议检查并清理当前的目录后再按照操作流程进行扩容。

具体目录结构有吗?

删除 $deploy_dir/data.pd 目录,该目录包含 PD 元数据信息以及集群 ID 等信息。因为是重新部署,建议将一下文件都进行删除操作,然后再进行扩容操作。

│   ├── pd-server
│   ├── pd.toml
├── data.pd
│   ├── pd.log
│   ├── pd_stderr.log
│   ├── run_pd.sh
│   ├── start_pd.sh
│   ├── stop_pd.sh

嗯,现在清理完,也重新部署了,然后出现了wait until the PD health page is available 这块出问题了,其他都正常,然后我去社区查过了,核对过ip,ip正确并未发生变化。

通过 PD control 确认 PD 集群中其他的 PD member 状态是否正常,先将不正常的 PD 进行处理。

pd-ctl -u "http://pd-ip:port" -i
health

谢谢,解决了。在以后服务上扩缩相对应的服务,自己也有相对应的流程了,谢谢

:+1: 如有新的问题,麻烦单独创建 issue 。:pray: