目录
本文使用官方推荐的tiup安装部署,并按照线上生产环境部署。本次使用的Tidb版本是4.0.
节点分布
使用最小化部署方案,只要保留pd,tidb,tikv三个模块即可。
节点 | 功能 | 备注 |
10.1.1.1 | pd/tidb | 中控机/调度机 |
10.1.1.2 | tikv | 数据库 |
10.1.1.3 | tikv | 数据库 |
10.1.1.4 | tikv | 数据库 |
配置无秘钥登录
这里官方给出的文档可能有点坑,需要用普通用户配置root用户的无秘钥访问,如果不能正确配置,可能会导致后面集群部署失败。
无秘钥登录配置方法:
ssh-keygen -t rsa(一路回车)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.1.1.1 -p 22
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.1.1.2 -p 22
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.1.1.3 -p 22
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.1.1.4 -p 22
ssh -p '22' 'root@10.1.1.1'
ssh -p '22' 'root@10.1.1.2'
ssh -p '22' 'root@10.1.1.3'
ssh -p '22' 'root@10.1.1.4'
安装配置tiup工具
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
详细安装步骤可参考官方文档:
https://docs.pingcap.com/zh/tidb/stable/production-deployment-using-tiup
启动集群部署
需要提前准备好topology.yaml集群配置文件,这个官网上给了一些模板,可以下载下来稍做修改即可。
本次部署使用的配置文件如下:
topology.yaml
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb/tidb-deploy"
data_dir: "/tidb/tidb-data"
arch: "amd64"monitored:
node_exporter_port: 6100
blackbox_exporter_port: 6101
deploy_dir: "/tidb/tidb-deploy/monitored-9100"
data_dir: "/tidb/tidb-data/monitored-9100"
log_dir: "/tidb/tidb-deploy/monitored-9100/log"server_configs:
tidb:
log.slow-threshold: 300
binlog.enable: false
binlog.ignore-error: false
tikv:
readpool.storage.use-unified-pool: false
readpool.coprocessor.use-unified-pool: true
pd:
schedule.leader-schedule-limit: 4
schedule.region-schedule-limit: 2048
schedule.replica-schedule-limit: 64
pump:
gc: 7pd_servers:
- host: 10.1.1.1
ssh_port: 22
name: "pd-1"
client_port: 6110
peer_port: 6111
deploy_dir: "/tidb/tidb-deploy/pd-2379"
data_dir: "/tidb/tidb-data/pd-2379"
log_dir: "/tidb/tidb-deploy/pd-2379/log"
numa_node: "0,1"
tidb_servers:
- host: 10.1.1.1
ssh_port: 22
port: 6120
status_port: 6121
deploy_dir: "/tidb/tidb-deploy/tidb-4000"
log_dir: "/tidb/tidb-deploy/tidb-4000/log"tikv_servers:
- host: 10.1.1.2
ssh_port: 22
port: 6122
status_port: 6123
deploy_dir: "/tidb/tidb-deploy/tikv-20160"
data_dir: "/tidb/tidb-data/tikv-20160"
log_dir: "/tidb/tidb-deploy/tikv-20160/log"
- host: 10.1.1.3
ssh_port: 22
port: 6122
status_port: 6123
deploy_dir: "/tidb/tidb-deploy/tikv-20160"
data_dir: "/tidb/tidb-data/tikv-20160"
log_dir: "/tidb/tidb-deploy/tikv-20160/log"
- host: 10.1.1.4
ssh_port: 22
port: 6122
status_port: 6123
deploy_dir: "/tidb/tidb-deploy/tikv-20160"
data_dir: "/tidb/tidb-data/tikv-20160"
log_dir: "/tidb/tidb-deploy/tikv-20160/log"monitoring_servers:
- host: 10.1.1.1
ssh_port: 22
port: 6124
deploy_dir: "/tidb/tidb-deploy/prometheus-8249"
data_dir: "/tidb/tidb-data/prometheus-8249"
log_dir: "/tidb/tidb-deploy/prometheus-8249/log"grafana_servers:
- host: 10.1.1.1
port: 6125
deploy_dir: /tidb/tidb-deploy/grafana-3000
运行集群部署命令:
tiup cluster deploy tidb-test-1 v4.0.0 ./topology.yaml --user root
正确配置完成后,提示:
Deployed cluster `tidb-test-1` successfully, you can start the cluster via `tiup cluster start tidb-test-1`
启动集群:
tiup cluster start tidb-test-1
查看集群状态:
tiup cluster list
tiup cluster display tidb-test-1
使用mysql连接:
mysql -u root -h 127.0.0.1 -P 6120
集群运行状态监控
tidb自己提供了一些监控的工具,监控的信息还是比较丰富的。
Grafana地址:
http://10.1.1.1:6125
http://10.1.1.1:6124
禁用遥测功能
好多软件都喜欢收集用户的信息,以便于了解用户的使用习惯和发现问题,这对软件更新有一定的帮助,但是对部分敏感客户而言,可能会产生信息的泄露,对系统的安全性造成影响。
可通过执行以下命令禁用 TiUP 遥测功能:
tiup telemetry disable
查看遥测状态:
tiup telemetry status
好了,这样一个Tidb集群就搭建完成了,安装配置来说还算简单,对Tidb数据库感兴趣的小伙伴可以安装测试下。
官方安装文档地址:
https://docs.pingcap.com/zh/tidb/stable/production-deployment-using-tiup