TiDB 集群的搭建是一个系统性的工程,涉及规划、部署、配置和验证等多个步骤。以下是基于最新最佳实践的详细搭建指南:
核心架构理解
TiDB 集群包含四大核心组件:
一、部署前准备
1. 硬件规划建议
TiDB | 16核+ | 32GB+ | SAS/SSD | 10GbE | 2 |
TiKV | 16核+ | 64GB+ | NVMe SSD* | 10GbE | 3 |
PD | 4核+ | 8GB+ | SSD | 1GbE+ | 3 |
Monitor | 4核 | 8GB | 100GB+ | 1GbE | 1 |
关键提示:TiKV 必须使用 NVMe SSD,避免使用 SATA SSD 导致性能瓶颈。
2. 操作系统优化
# 关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 调整文件描述符限制
echo "* soft nofile 1000000" >> /etc/security/limits.conf
# 优化内核参数
sysctl -w vm.swappiness=0
sysctl -w net.core.somaxconn=32768
3. 拓扑文件准备 (topology.yaml)
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
pd_servers:
– host: 10.0.1.11
– host: 10.0.1.12
– host: 10.0.1.13
tidb_servers:
– host: 10.0.1.21
– host: 10.0.1.22
tikv_servers:
– host: 10.0.1.31
– host: 10.0.1.32
– host: 10.0.1.33
monitoring_servers:
– host: 10.0.1.41
grafana_servers:
– host: 10.0.1.41
二、使用 TiUP 部署集群
1. 安装 TiUP
curl –proto '=https' –tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source ~/.bashrc
2. 部署集群
tiup cluster deploy tidb-test v7.5.0 ./topology.yaml -y
tiup cluster start tidb-test
3. 验证部署状态
tiup cluster display tidb-test
预期输出:所有节点 Status = Up
三、安全加固(生产环境必做)
1. 启用 TLS 加密
tiup cluster enable-tls tidb-test
2. 设置 SQL 防火墙
CREATE PLACEMENT POLICY `restrictive` CONSTRAINTS = "[+region=sh]";
ALTER DATABASE test PLACEMENT POLICY = `restrictive`;
3. 审计日志配置
server_configs:
tidb:
enable-audit: true
audit-log-format: "json"
四、性能调优关键参数
TiKV 配置 (tikv.toml)
[raftstore]
sync-log = false # 异步刷盘提升吞吐
[rocksdb]
max-background-jobs = 8 # CPU核数/2
[storage]
reserve-space = "2GB" # 预防磁盘写满
PD 调度参数 (pd.toml)
[schedule]
max-merge-region-size = 20 # 避免小Region合并
hot-region-schedule-limit = 8
五、集群验证与测试
1. 基础连接测试
mysql -h 10.0.1.21 -P 4000 -u root -e "SELECT VERSION()"
2. TPC-C 性能压测
tiup bench tpcc -H 10.0.1.21 -P 4000 -D tpcc_test \\
–warehouses 100 –threads 64 prepare
3. 实时监控查看
访问 http://monitor-ip:3000 查看关键指标:
- TiDB: Query Duration > 99th percentile
- TiKV: 95% Storage command duration
- PD: Region health score
六、运维关键命令
# 滚动升级
tiup cluster upgrade tidb-test v7.5.1
# 节点扩容
tiup cluster scale-out tidb-test scale-out.yaml
# 灾备恢复
br restore full –pd "pd-ip:2379" -s "s3://backup-bucket/"
常见故障排查点
TiKV Store Down:
- 检查磁盘 IO 延迟(iostat -xmt 1)
- 确认网络分区(tcpping tikv_ip 20160)
慢查询激增:
- 分析 tidb_slow_query.log
- 检查热点 Region(Grafana → PD → Hot Region)
PD Leader 切换频繁:
- 检查 PD 节点时钟同步(ntpstat)
- 监控 PD 磁盘 IO 延迟
特别提醒:生产环境务必部署至少3个 PD 节点,TiKV 节点数应为奇数(推荐 3/5/7),避免脑裂问题。
评论前必须登录!
注册