目录
节点分布
配置无秘钥登录
安装配置tiup工具
启动集群部署
运行集群部署命令:
启动集群:
查看集群状态:
使用mysql连接:
集群运行状态监控
禁用遥测功能
本文使用官方推荐的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 [email protected] -p 22
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p 22
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p 22
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p 22
ssh -p '22' '[email protected]'
ssh -p '22' '[email protected]'
ssh -p '22' '[email protected]'
ssh -p '22' '[email protected]'
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 -u root -h 127.0.0.1 -P 6120
tidb自己提供了一些监控的工具,监控的信息还是比较丰富的。
Grafana地址:
http://10.1.1.1:6125
默认的账号密码:admin/admin
普罗米修斯地址:
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