云计算百科
云计算领域专业知识百科平台

TiDB集群搭建与运维指南

TiDB 集群的搭建是一个系统性的工程,涉及规划、部署、配置和验证等多个步骤。以下是基于最新最佳实践的详细搭建指南:


核心架构理解

TiDB 集群包含四大核心组件:

  • TiDB Server:无状态 SQL 层(默认端口 4000)
  • TiKV Server:分布式 KV 存储引擎(端口 20160)
  • PD Server:元数据管理与调度中心(端口 2379)
  • 监控组件:Prometheus + Grafana(默认端口 3000)

  • 一、部署前准备

    1. 硬件规划建议
    组件CPU内存存储网络最小节点数
    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),避免脑裂问题。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » TiDB集群搭建与运维指南
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!