
TiDB
1 前言
一个问题,一篇文章,一出故事。
笔者最近测试了TiDB集群,目前尝试基于该集群扩容节点。
2 最佳实践
2.1 部署tidb集群环境
2.2 扩容TiDB/PD/TiKV集群角色
2.2.1 切换身份
In hd24
su - tidb
2.2.2 创建配置文件
In hd24
cd /data/tidb/install/config-yaml vim scale-out.yml
加入如下配置,
tidb_servers: - host: hd29.cmdschool.org deploy_dir: "/data/tidb/tidb-deploy/tidb-4000" log_dir: "/data/tidb/tidb-deploy/tidb-4000/log" tikv_servers: - host: hd29.cmdschool.org deploy_dir: "/data/tidb/tidb-deploy/tikv-20160" data_dir: "/data/tidb/tidb-data/tikv-20160" log_dir: "/data/tidb/tidb-deploy/tikv-20160/log" pd_servers: - host: hd29.cmdschool.org name: "pd-4" deploy_dir: "/data/tidb/tidb-deploy/pd-2379" data_dir: "/data/tidb/tidb-data/pd-2379" log_dir: "/data/tidb/tidb-deploy/pd-2379/log"
2.2.3 扩容前的检查与问题修复
In hd24
tiup cluster check tidb-cluster scale-out.yml --cluster --user tidb -i ~/.ssh/id_rsa
以上命令检查集群中存在的风险,然后,你可以使用如下命令修复风险,
tiup cluster check tidb-cluster scale-out.yml --cluster --apply --user tidb -i ~/.ssh/id_rsa
2.2.4 执行扩容前集群命令
In hd24
tiup cluster scale-out tidb-cluster scale-out.yml --user tidb -i ~/.ssh/id_rsa
由于我们有添加PD节点,因此我们需要执行如下命令,
tiup cluster reload tidb-cluster --skip-restart
2.2.5 查看扩容后的集群状态
In hd24
tiup cluster display tidb-cluster
可见如下显示,
Cluster type: tidb Cluster name: tidb-cluster Cluster version: v8.5.1 Deploy user: tidb SSH type: builtin Dashboard URL: http://hd26.cmdschool.org:2379/dashboard Grafana URL: http://hd25.cmdschool.org:3030 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- hd25.cmdschool.org:9093 alertmanager hd25.cmdschool.org 9093/9094 linux/x86_64 Up /data/tidb/tidb-data/alertmanager-9093 /data/tidb/tidb-deploy/alertmanager-9093 hd25.cmdschool.org:3030 grafana hd25.cmdschool.org 3030 linux/x86_64 Up - /data/tidb/tidb-deploy/grafana-3030 hd26.cmdschool.org:2379 pd hd26.cmdschool.org 2379/2380 linux/x86_64 Up|L|UI /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd27.cmdschool.org:2379 pd hd27.cmdschool.org 2379/2380 linux/x86_64 Up /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd28.cmdschool.org:2379 pd hd28.cmdschool.org 2379/2380 linux/x86_64 Up /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd29.cmdschool.org:2379 pd hd29.cmdschool.org 2379/2380 linux/x86_64 Up /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd25.cmdschool.org:9190 prometheus hd25.cmdschool.org 9190/12020 linux/x86_64 Up /data/tidb/tidb-data/prometheus-9190 /data/tidb/tidb-deploy/prometheus-9190 hd26.cmdschool.org:4000 tidb hd26.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd27.cmdschool.org:4000 tidb hd27.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd28.cmdschool.org:4000 tidb hd28.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd29.cmdschool.org:4000 tidb hd29.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd26.cmdschool.org:9001 tiflash hd26.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd27.cmdschool.org:9001 tiflash hd27.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd28.cmdschool.org:9001 tiflash hd28.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd26.cmdschool.org:20160 tikv hd26.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd27.cmdschool.org:20160 tikv hd27.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd28.cmdschool.org:20160 tikv hd28.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd29.cmdschool.org:20160 tikv hd29.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd19.cmdschool.org:6000 tiproxy hd19.cmdschool.org 6000/3080 linux/x86_64 Up - /data/tidb/tidb-deploy/tiproxy-6000 hd20.cmdschool.org:6000 tiproxy hd20.cmdschool.org 6000/3080 linux/x86_64 Up - /data/tidb/tidb-deploy/tiproxy-6000 hd21.cmdschool.org:6000 tiproxy hd21.cmdschool.org 6000/3080 linux/x86_64 Up - /data/tidb/tidb-deploy/tiproxy-6000 Total nodes: 21
2.3 扩容TiFlash集群角色
2.3.1 切换身份
In hd24
su - tidb
2.3.2 创建配置文件
In hd24
cd /data/tidb/install/config-yaml vim scale-out.yml
加入如下配置,
tiflash_servers: - host: hd29.cmdschool.org tcp_port: 9001 deploy_dir: "/data/tidb/tidb-deploy/tiflash-9001" data_dir: "/data/tidb/tidb-data/tiflash-9001" log_dir: "/data/tidb/tidb-deploy/tiflash-9001/log"
2.3.3 扩容前的检查与问题修复
In hd24
tiup cluster check tidb-cluster scale-out.yml --cluster --user tidb -i ~/.ssh/id_rsa
以上命令检查集群中存在的风险,然后,你可以使用如下命令修复风险,
tiup cluster check tidb-cluster scale-out.yml --cluster --apply --user tidb -i ~/.ssh/id_rsa
2.3.4 执行扩容前集群命令
In hd24
tiup cluster scale-out tidb-cluster scale-out.yml --user tidb -i ~/.ssh/id_rsa
2.3.5 查看扩容后的集群状态
In hd24
tiup cluster display tidb-cluster
可见如下显示,
Cluster type: tidb Cluster name: tidb-cluster Cluster version: v8.5.1 Deploy user: tidb SSH type: builtin Dashboard URL: http://hd26.cmdschool.org:2379/dashboard Grafana URL: http://hd25.cmdschool.org:3030 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- hd25.cmdschool.org:9093 alertmanager hd25.cmdschool.org 9093/9094 linux/x86_64 Up /data/tidb/tidb-data/alertmanager-9093 /data/tidb/tidb-deploy/alertmanager-9093 hd25.cmdschool.org:3030 grafana hd25.cmdschool.org 3030 linux/x86_64 Up - /data/tidb/tidb-deploy/grafana-3030 hd26.cmdschool.org:2379 pd hd26.cmdschool.org 2379/2380 linux/x86_64 Up|L|UI /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd27.cmdschool.org:2379 pd hd27.cmdschool.org 2379/2380 linux/x86_64 Up /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd28.cmdschool.org:2379 pd hd28.cmdschool.org 2379/2380 linux/x86_64 Up /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd29.cmdschool.org:2379 pd hd29.cmdschool.org 2379/2380 linux/x86_64 Up /data/tidb/tidb-data/pd-2379 /data/tidb/tidb-deploy/pd-2379 hd25.cmdschool.org:9190 prometheus hd25.cmdschool.org 9190/12020 linux/x86_64 Up /data/tidb/tidb-data/prometheus-9190 /data/tidb/tidb-deploy/prometheus-9190 hd26.cmdschool.org:4000 tidb hd26.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd27.cmdschool.org:4000 tidb hd27.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd28.cmdschool.org:4000 tidb hd28.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd29.cmdschool.org:4000 tidb hd29.cmdschool.org 4000/10080 linux/x86_64 Up - /data/tidb/tidb-deploy/tidb-4000 hd26.cmdschool.org:9001 tiflash hd26.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd27.cmdschool.org:9001 tiflash hd27.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd28.cmdschool.org:9001 tiflash hd28.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd29.cmdschool.org:9001 tiflash hd29.cmdschool.org 9001/3930/20170/20292/8234/8123 linux/x86_64 Up /data/tidb/tidb-data/tiflash-9001 /data/tidb/tidb-deploy/tiflash-9001 hd26.cmdschool.org:20160 tikv hd26.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd27.cmdschool.org:20160 tikv hd27.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd28.cmdschool.org:20160 tikv hd28.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd29.cmdschool.org:20160 tikv hd29.cmdschool.org 20160/20180 linux/x86_64 Up /data/tidb/tidb-data/tikv-20160 /data/tidb/tidb-deploy/tikv-20160 hd19.cmdschool.org:6000 tiproxy hd19.cmdschool.org 6000/3080 linux/x86_64 Up - /data/tidb/tidb-deploy/tiproxy-6000 hd20.cmdschool.org:6000 tiproxy hd20.cmdschool.org 6000/3080 linux/x86_64 Up - /data/tidb/tidb-deploy/tiproxy-6000 hd21.cmdschool.org:6000 tiproxy hd21.cmdschool.org 6000/3080 linux/x86_64 Up - /data/tidb/tidb-deploy/tiproxy-6000 Total nodes: 22
参阅文档
===================
https://docs.pingcap.com/zh/tidb/stable/scale-tidb-using-tiup/
没有评论