在 arm 单机上模拟部署 tidb 生产环境集群 安装了一套tidb,最近又要验证tidb的高可用等信息,发现原来的 tidb 集群不满足要求,所以进行了扩容,这次是单机扩容。
目前的集群信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| tiup cluster display cjctu Cluster type: tidb Cluster name: cjctu Cluster version: v7.1.3 Deploy user: tidb SSH type: builtin Dashboard URL: http://10.0.0.15:2379/dashboard Dashboard URLs: http://10.0.0.15:2379/dashboard Grafana URL: http://10.0.0.15:3000 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- 10.0.0.15:3000 grafana 10.0.0.15 3000 linux/aarch64 Up - /tidb-deploy/grafana-3000 10.0.0.15:2379 pd 10.0.0.15 2379/2380 linux/aarch64 Up|L|UI /tidb-data/pd-2379 /tidb-deploy/pd-2379 10.0.0.15:9090 prometheus 10.0.0.15 9090/9115/9100/12020 linux/aarch64 Up /tidb-data/prometheus-9090 /tidb-deploy/prometheus-9090 10.0.0.15:4000 tidb 10.0.0.15 4000/10080 linux/aarch64 Up - /tidb-deploy/tidb-4000 10.0.0.15:9000 tiflash 10.0.0.15 9000/3930/20170/20292/8234/8123 linux/aarch64 Up /tidb-data/tiflash-9000 /tidb-deploy/tiflash-9000 10.0.0.15:20160 tikv 10.0.0.15 20160/20180 linux/aarch64 Up /tidb-data/tikv-20160 /tidb-deploy/tikv-20160 10.0.0.15:20161 tikv 10.0.0.15 20161/20181 linux/aarch64 Up /tidb-data/tikv-20161 /tidb-deploy/tikv-20161 10.0.0.15:20162 tikv 10.0.0.15 20162/20182 linux/aarch64 Up /tidb-data/tikv-20162 /tidb-deploy/tikv-20162 Total nodes: 8
|
借助AI写配置文件:
目前集群的状态如下: tiup cluster display cjctu
Cluster type: tidb
Cluster name: cjctu
Cluster version: v7.1.3
Deploy user: tidb
SSH type: builtin
Dashboard URL: http://10.0.0.15:2379/dashboard
Dashboard URLs: http://10.0.0.15:2379/dashboard
Grafana URL: http://10.0.0.15:3000
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir
10.0.0.15:3000 grafana 10.0.0.15 3000 linux/aarch64 Up - /tidb-deploy/grafana-3000
10.0.0.15:2379 pd 10.0.0.15 2379/2380 linux/aarch64 Up|L|UI /tidb-data/pd-2379 /tidb-deploy/pd-2379
10.0.0.15:9090 prometheus 10.0.0.15 9090/9115/9100/12020 linux/aarch64 Up /tidb-data/prometheus-9090 /tidb-deploy/prometheus-9090
10.0.0.15:4000 tidb 10.0.0.15 4000/10080 linux/aarch64 Up - /tidb-deploy/tidb-4000
10.0.0.15:9000 tiflash 10.0.0.15 9000/3930/20170/20292/8234/8123 linux/aarch64 Up /tidb-data/tiflash-9000 /tidb-deploy/tiflash-9000
10.0.0.15:20160 tikv 10.0.0.15 20160/20180 linux/aarch64 Up /tidb-data/tikv-20160 /tidb-deploy/tikv-20160
10.0.0.15:20161 tikv 10.0.0.15 20161/20181 linux/aarch64 Up /tidb-data/tikv-20161 /tidb-deploy/tikv-20161
10.0.0.15:20162 tikv 10.0.0.15 20162/20182 linux/aarch64 Up /tidb-data/tikv-20162 /tidb-deploy/tikv-20162
Total nodes: 8
在本机上,在增加两个pd,2个tidb ,端口别冲突.
您好!我是 TiDB 数据库运维专家。根据您提供的集群现状(所有组件均部署在 10.0.0.15 单机上),在同一台机器上扩容 2 个 PD 节点和 2 个 TiDB 节点,核心难点在于精准规划端口和目录,以避免与现有服务发生冲突。
现有集群已占用端口总结:
- PD: 2379 (Client), 2380 (Peer)
- TiDB: 4000 (MySQL), 10080 (Status)
- TiKV: 20160/20180, 20161/20181, 20162/20182
- TiFlash: 9000, 3930, 8123, 8234, 20170, 20292
- 监控: 9090 (Prometheus), 3000 (Grafana)
以下是为您定制的扩容操作手册。
1. 规划拓扑 (scale-out.yaml)
我们需要为新节点分配未被占用的端口,并指定独立的部署目录。
端口规划:
- 新增 PD 节点 1: Client Port
2381, Peer Port 2382
- 新增 PD 节点 2: Client Port
2383, Peer Port 2384
- 新增 TiDB 节点 1: Port
4001, Status Port 10081
- 新增 TiDB 节点 2: Port
4002, Status Port 10082
请在中控机(运行 tiup 的机器)上创建一个名为 scale-out.yaml 的文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| pd_servers: - host: 10.0.0.15 ssh_port: 22 name: "pd-2381" client_port: 2381 peer_port: 2382 deploy_dir: "/tidb-deploy/pd-2381" data_dir: "/tidb-data/pd-2381" log_dir: "/tidb-deploy/pd-2381/log" - host: 10.0.0.15 ssh_port: 22 name: "pd-2383" client_port: 2383 peer_port: 2384 deploy_dir: "/tidb-deploy/pd-2383" data_dir: "/tidb-data/pd-2383" log_dir: "/tidb-deploy/pd-2383/log"
tidb_servers: - host: 10.0.0.15 ssh_port: 22 port: 4001 status_port: 10081 deploy_dir: "/tidb-deploy/tidb-4001" log_dir: "/tidb-deploy/tidb-4001/log" - host: 10.0.0.15 ssh_port: 22 port: 4002 status_port: 10082 deploy_dir: "/tidb-deploy/tidb-4002" log_dir: "/tidb-deploy/tidb-4002/log"
|
直接运行:
1
| tiup cluster scale-out cjctu scale-out.yaml
|
会给出确认信息,然后输入 y。这里忘记截图了。
扩容后的信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| tiup cluster display cjctu Cluster type: tidb Cluster name: cjctu Cluster version: v7.1.3 Deploy user: tidb SSH type: builtin Dashboard URL: http://10.0.0.15:2379/dashboard Dashboard URLs: http://10.0.0.15:2379/dashboard Grafana URL: http://10.0.0.15:3000 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- 10.0.0.15:3000 grafana 10.0.0.15 3000 linux/aarch64 Up - /tidb-deploy/grafana-3000 10.0.0.15:2379 pd 10.0.0.15 2379/2380 linux/aarch64 Up|L|UI /tidb-data/pd-2379 /tidb-deploy/pd-2379 10.0.0.15:2381 pd 10.0.0.15 2381/2382 linux/aarch64 Up /tidb-data/pd-2381 /tidb-deploy/pd-2381 10.0.0.15:2383 pd 10.0.0.15 2383/2384 linux/aarch64 Up /tidb-data/pd-2383 /tidb-deploy/pd-2383 10.0.0.15:9090 prometheus 10.0.0.15 9090/9115/9100/12020 linux/aarch64 Up /tidb-data/prometheus-9090 /tidb-deploy/prometheus-9090 10.0.0.15:4000 tidb 10.0.0.15 4000/10080 linux/aarch64 Up - /tidb-deploy/tidb-4000 10.0.0.15:4001 tidb 10.0.0.15 4001/10081 linux/aarch64 Up - /tidb-deploy/tidb-4001 10.0.0.15:4002 tidb 10.0.0.15 4002/10082 linux/aarch64 Up - /tidb-deploy/tidb-4002 10.0.0.15:9000 tiflash 10.0.0.15 9000/3930/20170/20292/8234/8123 linux/aarch64 Up /tidb-data/tiflash-9000 /tidb-deploy/tiflash-9000 10.0.0.15:20160 tikv 10.0.0.15 20160/20180 linux/aarch64 Up /tidb-data/tikv-20160 /tidb-deploy/tikv-20160 10.0.0.15:20161 tikv 10.0.0.15 20161/20181 linux/aarch64 Up /tidb-data/tikv-20161 /tidb-deploy/tikv-20161 10.0.0.15:20162 tikv 10.0.0.15 20162/20182 linux/aarch64 Up /tidb-data/tikv-20162 /tidb-deploy/tikv-20162 Total nodes: 12
|
其他命令:查看/编辑集群配置信息
1 2
| tiup cluster edit-config cjctu tiup cluster show-config cjctu
|
原文作者:
liups.com
原文链接:
http://liups.com/posts/f1b0c068/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议