​
​

TiDB 软件和硬件环境需求




本文介绍 TiDB 数据库对软件和硬件环境的需求。TiDB 作为一款开源一栈式实时 HTAP 数据库,可以很好地部署和运行在 Intel 架构服务器环境、ARM 架构的服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境。

操作系统及平台要求

在 v8.5 LTS 版本中,针对不同操作系统和 CPU 架构的组合,TiDB 提供不同级别质量标准的支持。

  • 经过测试和验证的平台:对于以下操作系统和 CPU 架构组合,每个 TiDB 版本均会通过 PingCAP 的系统性测试矩阵进行验证。这些组合推荐用于生产环境部署。

    操作系统支持的 CPU 架构
    Red Hat Enterprise Linux 9.4 及以上的 9.x 版本
    • x86_64
    • ARM 64
    Red Hat Enterprise Linux 8.6 及以上的 8.x 版本
    • x86_64
    • ARM 64
    Amazon Linux 2
    • x86_64
    • ARM 64
    Amazon Linux 2023
    • x86_64
    • ARM 64
    Rocky Linux 9.1 及以上的版本
    • x86_64
    • ARM 64
    银河麒麟 V10 SP1/SP2/SP3(从 v7.5.5 开始支持 SP3)
    • x86_64
    • ARM 64
    统信操作系统 (UOS) V20
    • x86_64
    • ARM 64
    openEuler 22.03 LTS SP1/SP3
    • x86_64
    • ARM 64
  • 兼容平台:在以下组合中,TiDB 可以进行编译、构建和部署,并支持 OLTP、OLAP 和数据工具。这些组合未纳入每个版本的系统性测试矩阵;其兼容性通过编译构建、部署验证以及 TiDB 用户的实际使用得到确认。如需在这些平台上进行生产部署,请联系 PingCAP,以确认你的订阅服务是否涵盖相应支持。

    操作系统支持的 CPU 架构
    macOS 12 (Monterey) 及以上的版本
    • x86_64
    • ARM 64
    Oracle Enterprise Linux 8 及以上的版本x86_64
    Ubuntu LTS 20.04 及以上的版本x86_64
    CentOS Stream 8
    • x86_64
    • ARM 64
    Debian 10 (Buster) 及以上的版本x86_64
    Fedora 38 及以上的版本x86_64
    openSUSE Leap 15.5 以上的版本(不包含 Tumbleweed)x86_64
    SUSE Linux Enterprise Server 15x86_64
  • 对于以上两个表格中所列操作系统的 32 位版本,TiDB 在这些 32 位操作系统以及对应的 CPU 架构上不保障可编译、可构建以及可部署,或 TiDB 不主动适配这些 32 位的操作系统。

  • 以上未提及的操作系统版本也许可以运行 TiDB,但尚未得到 TiDB 官方支持。

编译和运行 TiDB 所依赖的库

编译和构建 TiDB 所需的依赖库版本
Golang1.25 及以上版本
Rustnightly-2025-02-28 及以上版本
GCC7.x
LLVM17.0 及以上版本

运行时所需的依赖库:glibc(2.28-151.el8 版本)

Docker 镜像依赖

支持的 CPU 架构如下:

软件配置要求

中控机软件配置

软件版本
sshpass1.06 及以上
TiUP1.5.0 及以上

目标主机建议配置软件

软件版本
sshpass1.06 及以上
numa2.0.12 及以上
tar任意

服务器配置要求

TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器平台或者 ARM 架构的硬件服务器平台。对于开发、测试及生产环境的服务器硬件配置(不包含操作系统 OS 本身的占用)有以下要求和建议:

开发及测试环境

组件CPU内存本地存储网络实例数量(最低要求)
TiDB8 核+16 GB+存储要求千兆网卡1(可与 PD 同机器)
PD4 核+8 GB+SAS, 200 GB+千兆网卡1(可与 TiDB 同机器)
TiKV8 核+32 GB+SSD, 200 GB+千兆网卡3
TiFlash32 核+64 GB+SSD, 200 GB+千兆网卡1
TiCDC8 核+16 GB+SAS, 200 GB+千兆网卡1
TiProxy4 核+8 GB+SAS千兆网卡1

生产环境

组件CPU内存硬盘类型网络实例数量(最低要求)
TiDB16 核+48 GB+SSD万兆网卡(2 块最佳)2
PD8 核+16 GB+SSD万兆网卡(2 块最佳)3
TiKV16 核+64 GB+SSD万兆网卡(2 块最佳)3
TiFlash48 核+128 GB+1 or more SSDs万兆网卡(2 块最佳)2
TiCDC16 核+64 GB+SSD万兆网卡(2 块最佳)2
监控8 核+16 GB+SAS千兆网卡1
TiProxy8 核+16 GB+SAS万兆网卡(2 块最佳)2

在部署 TiFlash 之前,请注意以下事项:

  • TiFlash 支持多盘部署。
  • TiFlash 数据目录的第一块磁盘推荐用高性能 SSD 来缓冲 TiKV 同步数据的实时写入,该盘性能应不低于 TiKV 所使用的磁盘,比如 PCIe SSD。并且该磁盘容量建议不小于总容量的 10%,否则它可能成为这个节点的能承载的数据量的瓶颈。而其他磁盘可以根据需求部署多块普通 SSD,当然更好的 PCIe SSD 硬盘会带来更好的性能。
  • TiFlash 推荐与 TiKV 部署在不同节点,如果条件所限必须将 TiFlash 与 TiKV 部署在相同节点,则需要适当增加 CPU 核数和内存,且尽量将 TiFlash 与 TiKV 部署在不同的磁盘,以免互相干扰。
  • TiFlash 硬盘总容量大致为:整个 TiKV 集群的需同步数据容量 / TiKV 副本数 * TiFlash 副本数。例如整体 TiKV 的规划容量为 1 TB、TiKV 副本数为 3、TiFlash 副本数为 2,则 TiFlash 的推荐总容量为 1024 GB / 3 * 2。用户可以选择同步部分表数据而非全部,具体容量可以根据需要同步的表的数据量具体分析。

在部署 TiCDC 时,建议在大于 500 GB 的 PCIe SSD 磁盘上部署。

网络要求

TiDB 作为开源一栈式实时 HTAP 数据库,其正常运行需要网络环境提供如下的网络端口配置要求,管理员可根据实际环境中 TiDB 组件部署的方案,在网络侧和主机侧开放相关端口:

组件默认端口说明
TiDB4000应用及 DBA 工具访问通信端口
TiDB10080TiDB 状态信息上报通信端口
TiKV20160TiKV 通信端口
TiKV20180TiKV 状态信息上报通信端口
PD2379提供 TiDB 和 PD 通信端口
PD2380PD 集群节点间通信端口
TiFlash9000TiFlash TCP 服务端口(TiFlash v7.1.0 及以上版本由 TiUP v1.12.5 及以上版本部署时默认关闭;不建议配置)
TiFlash3930TiFlash RAFT 服务和 Coprocessor 服务端口
TiFlash20170TiFlash Proxy 服务端口
TiFlash20292Prometheus 拉取 TiFlash Proxy metrics 端口
TiFlash8234Prometheus 拉取 TiFlash metrics 端口
CDC8300CDC 通信接口
Monitoring9090Prometheus 服务通信端口
Monitoring12020NgMonitoring 服务通信端口
Node_exporter9100TiDB 集群每个节点的系统信息上报通信端口
Blackbox_exporter9115Blackbox_exporter 通信端口,用于 TiDB 集群端口监控
Grafana3000Web 监控服务对外服务和客户端(浏览器)访问端口
Alertmanager9093告警 web 服务端口
Alertmanager9094告警通信端口

存储要求

组件磁盘空间要求健康水位使用率
TiDB
  • 日志盘建议最少预留 30 GB。
  • v6.5.0 及以上版本默认启用了 Fast Online DDL 对添加索引等 DDL 操作进行加速(通过变量 tidb_ddl_enable_fast_reorg 控制)。如果业务中可能存在针对大对象的 DDL 操作,或需要使用 IMPORT INTO SQL 语句导入数据,推荐为 TiDB 准备额外的 SSD 磁盘空间(建议 100 GB+)。配置方式详见设置 TiDB 节点的临时空间。
低于 90%
PD数据盘和日志盘建议最少各预留 20 GB低于 90%
TiKV数据盘和日志盘建议最少各预留 100 GB低于 80%
TiFlash数据盘建议最少预留 100 GB,日志盘建议最少预留 30 GB低于 80%
TiUP
  • 中控机:部署一个版本的 TiDB 集群占用不超过 1 GB 空间,部署多个版本集群所占用的空间会相应增加
  • 部署服务器(实际运行 TiDB 各组件的机器):TiFlash 占用约 700 MB 空间,其他组件(PD、TiDB、TiKV 等)各占用约 200 MB 空间。同时,部署过程会占用小于 1 MB 临时空间(/tmp)存放临时文件
不涉及
Ngmonitoring
  • Conprof:3 x 1 GB x 组件数量(表示每个组件每天占用约 1 GB,总共 3 天) + 20 GB 预留空间
  • Top SQL:30 x 50 MB x 组件数量(每个组件每天占用约 50 MB,总共 30 天)
  • Top SQL 和 Conprof 共享预留空间
不涉及

TiDB 支持 XFS 和 Ext4 文件系统。其他文件系统不推荐用于生产环境。

客户端 Web 浏览器要求

TiDB 提供了基于 Grafana 的技术平台,对数据库集群的各项指标进行可视化展现。采用支持 Javascript 的微软 Edge、Apple Safari、Google Chrome、Mozilla Firefox 的较新版本即可访问监控入口。

TiFlash 存算分离架构的软硬件要求

上面的 TiFlash 软硬件要求是针对存算一体架构的。从 v7.0.0 开始,TiFlash 支持存算分离架构,该架构下 TiFlash 分为 Write Node 和 Compute Node 两个角色,对应的软硬件要求如下:

  • 软件:与存算一体架构一致,详见操作系统及平台要求。
  • 网络端口:与存算一体架构一致,详见网络要求。
  • 磁盘空间:
    • TiFlash Write Node:推荐 200 GB+,用作增加 TiFlash 副本、Region 副本迁移时向 Amazon S3 上传数据前的本地缓冲区。此外,还需要一个与 Amazon S3 兼容的对象存储。
    • TiFlash Compute Node:推荐 100 GB+,主要用于缓存从 Write Node 读取的数据以提升性能。Compute Node 的缓存可能会被完全使用,这是正常现象。
  • CPU 以及内存等要求参考下文。

开发及测试环境

组件CPU内存本地存储网络实例数量(最低要求)
TiFlash Write Node16 核+32 GB+SSD, 200 GB+千兆网卡1
TiFlash Compute Node16 核+32 GB+SSD, 100 GB+千兆网卡0(参见下文“注意”说明)

生产环境

组件CPU内存硬盘类型网络实例数量(最低要求)
TiFlash Write Node32 核+64 GB+SSD, 200 GB+万兆网卡(2 块最佳)2
TiFlash Compute Node32 核+64 GB+SSD, 100 GB+万兆网卡(2 块最佳)0(参见下文“注意”说明)

文档内容是否有帮助?