一、前言
随着企业数据库系统规模的不断扩大以及业务对高并发、低时延和高可用性的要求不断提升,分布式数据库在核心业务系统中的应用愈发广泛。TiDB 作为一款兼容 MySQL 协议的分布式 NewSQL 数据库,采用计算与存储分离的架构设计,对底层硬件资源和系统环境具有较高依赖性,尤其在 CPU 架构、内存拓扑、磁盘 IO 以及网络性能等方面,对部署规范和资源规划提出了明确要求。
在实际生产环境中,TiDB 集群通常运行在不同类型的服务器平台之上,既包括传统的x86-64架构服务器,也逐步扩展到ARM64等新型CPU架构。在多CPU架构并存的场景下,我们需要怎么部署,尤其在离线环境下怎么处理该部署方式,如下我对该方式进行详细的说明。
二、合并说明
这里拿v8.5.3进行说明。中控机时amd64架构服务器。
1. 准备安装包
登录官网进行下载:https://pingkai.cn/download#tidb-community
这里我们把v8.5.3的arm和amd两个包都下载下来。上传到tiup节点。
2. 部署离线环境 TiUP 组件
将离线包发送到目标集群的中控机后,执行以下命令安装 TiUP 组件:
tar xzvf tidb-community-server-v8.5.3-linux-amd64.tar.gz && \
sh tidb-community-server-v8.5.3-linux-amd64/local_install.sh && \
source /home/tidb/.bash_profile
local_install.sh 脚本会自动执行 tiup mirror set tidb-community-server-v8.5.3-linux-amd64 命令将当前镜像地址设置为 tidb-community-server-v8.5.3-linux-amd64。
3. 合并离线包
- 首先解压下载的4个安装包,分别如下:
tidb-community-server-v8.5.3-linux-amd64.tar.gz
tidb-community-toolkit-v8.5.3-linux-amd64.tar.gz
tidb-community-server-v8.5.3-linux-arm64.tar.gz
tidb-community-toolkit-v8.5.3-linux-arm64.tar.gz
- cd到tidb-community-server-v8.5.3-linux-amd64目录下,将TiDB-community-toolkit 包合并到TiDB-community-server 下
cp -rp keys ~/.tiup/
tiup mirror merge ../tidb-community-toolkit-v8.5.3-linux-amd64
- 合并arm64的包到TiDB-community-server 下
# 合并arm64的toolkit到TiDB-community-server下
tiup mirror merge ../tidb-community-toolkit-v8.5.3-linux-arm64
# 合并arm64的server到TiDB-community-server下
tiup mirror merge ../tidb-community-server-v8.5.3-linux-arm64
- 检查在tidb-community-server-v8.5.3-linux-amd64下会出现arm64和amd64的相关安装包
三、部署说明
编辑拓扑文件,按照自己需求进行正常编写就行,只是在配置文件增加arch的配置即可:

正常的使用deploy即可:
tiup cluster deploy tidb-test v8.5.3 ./topology.yaml
四、总结
其实面对这种一个集群多cpu架构的部署方式也挺简单,只是把多个安装包合并到一起即可,剩下就使用tiup的方式正常部署即可。TiDB对不同架构的兼容性还是比较完善的。官网参考:https://pingkai.cn/docs/tidb/stable/production-deployment-using-tiup/#%E9%83%A8%E7%BD%B2%E7%A6%BB%E7%BA%BF%E7%8E%AF%E5%A2%83-tiup-%E7%BB%84%E4%BB%B6