当前位置: 首页 > article >正文

WiFi万能钥匙鲲鹏服务器部署 TiDB 集群实战指南

作者: TiDBer_yangxi 原文来源: https://tidb.net/blog/15a234d0

一、环境准备

1. 硬件要求

  • 服务器架构 :鲲鹏服务器(ARM架构),TiDB 官方明确支持 ARM 架构服务器部署
  • 推荐配置 (生产环境):
    • TiDB节点 :16核+ / 32GB+ 内存 / SAS 硬盘 / 万兆网卡
    • PD节点 :4核+ / 8GB+ 内存 / SSD 硬盘 / 万兆网卡
    • TiKV节点 :8核+ / 32GB+ 内存 / SSD 硬盘(建议 NVMe)

2. 操作系统

  • 版本信息
NAME="openEuler"
VERSION="24.03 (LTS-SP1)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS-SP1)"
ANSI_COLOR="0;31"
  • 需完成以下系统配置

    • 将部署目标机器数据盘格式化成 ext4 文件系统,挂载时添加 nodelalloc noatime 挂载参数

    • 检测及安装 NTP 服务

    • 创建部署用户tidb,并设置免密sudo,以及ssh免密互信

二、集群部署

使用 TiUP 自动化部署(推荐)

------我这里是联网部署,如果是离线的请参考官方制作离线镜像)

  • tiup安装部署
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source .bash_profile
which tiup
tiup cluster
tiup update --self && tiup update cluster
tiup --binary cluster
  • tidb集群部署
version=v8.5.1
tiup mirror clone tidb-community-server-${version}-linux-arm ${version} --os=linux --arch=arm64
cd tidb-community-server-v8.5.1-linux-arm/
bash local_install.sh 
source /home/tidb/.bash_profile

创建部署文件topology.yaml 我们目前是在一台鲲鹏的服务器上试用

global:user: "tidb"ssh_port: 22deploy_dir: "/data1/tidb-deploy"data_dir: "/data1/tidb-data"listen_host: 0.0.0.0arch: "arm64"
monitored:node_exporter_port: 9100blackbox_exporter_port: 9115deploy_dir: "/data1/tidb-deploy/monitored-9100"data_dir: "/data1/tidb-data/monitored-9100"log_dir: "/data1/tidb-deploy/monitored-9100/log"server_configs:tidb:log.level: "warn"log.file.max-days: 7log.slow-threshold: 300max-index-length: 12288mem-quota-query: 5368709120performance.txn-total-size-limit: 5368709120prepared-plan-cache.enabled: truetikv:log.level: "warn"storage.block-cache.capacity: 30GBpd:replication.location-labels:- host
pd_servers:- host: xx.x.xx.xxname: "pd-1"deploy_dir: "/data1/tidb-deploy/pd-2379"data_dir: "/data1/tidb-data/pd-2379"log_dir: "/data1/tidb-deploy/pd-2379/log"
tidb_servers:- host: xx.x.xx.xxport: 4000status_port: 10080deploy_dir: "/data1/tidb-deploy/tidb-4000"log_dir: "/data1/tidb-deploy/tidb-4000/log"
tikv_servers:- host: xx.x.xx.xxport: 20160status_port: 20180deploy_dir: "/data2/tidb-deploy/tikv-20160"data_dir: "/data2/tidb-data/tikv-20160"log_dir: "/data2/tidb-deploy/tikv-20160/log"config:log.level: warn
tiflash_servers:- host: xx.x.xx.xxssh_port: 22tcp_port: 9000flash_service_port: 3930flash_proxy_port: 20170flash_proxy_status_port: 20292metrics_port: 8234deploy_dir: /data3/tidb-deploy/tiflash-9000data_dir: /data3/tidb-data/tiflash-9000log_dir: /data3/tidb-deploy/tiflash-9000/log
kvcdc_servers:- host: xx.x.xx.xxssh_port: 22port: 8600data_dir: "/data1/tidb-data/tikv-cdc-8600"log_dir: "/data1/tidb-deploy/tikv-cdc-8600/log"
monitoring_servers:- host: xx.x.xx.xxdeploy_dir: "/data1/tidb-deploy/prometheus-8249"data_dir: "/data1/tidb-data/prometheus-8249"log_dir: "/data1/tidb-deploy/prometheus-8249/log"
grafana_servers:- host: xx.x.xx.xxdeploy_dir: "/data1/tidb-deploy/grafana-3000"
alertmanager_servers:- host: xx.x.xx.xxdeploy_dir: "/data1/tidb-deploy/alertmanager-9093"data_dir: "/data1/tidb-data/alertmanager-9093"log_dir: "/data1/tidb-deploy/alertmanager-9093/log"config_file: "/data1/tidb-deploy/alertmanager-9093/bin/alertmanager/alertmanager.yml"

安装集群并启动

tiup cluster check ./topology.yaml --user tidb
tiup cluster check ./topology.yaml --apply --user tidb
sudo yum install numactl
tiup cluster check ./topology.yaml --user tidb

2025-05-29_100542.jpg

tiup cluster deploy tidb-test v8.5.1 ./topology.yaml --user tidb
tiup cluster start tidb-test --init

三、集群验证

1. 状态检查

tiup cluster display tidb-test

2025-05-28_174422.jpg

2. 基础功能测试

  • 安装一个mysql客户端
sudo dnf update
sudo dnf install mysql

通过 MySQL 客户端连接

mysql -h xx.x.xx.xx -P 4000 -u root -pxxx
-- 创建测试数据
CREATE DATABASE test;
USE test;
CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(20));
INSERT INTO user VALUES (1, '鲲鹏用户');
SELECT * FROM user;-- 创建 TiFlash 副本(列存引擎)
ALTER TABLE user SET TIFLASH REPLICA 1;

四、常见问题解决

问题现象 解决方案
ARM 架构兼容性警告 确认 TiDB 版本 ≥ v5.0(原生支持 ARM)
PD 节点选举异常 检查 NTP 时间同步(偏差需 ≤500ms)
TiKV 存储性能不足 调整 rocksdb.max-background-jobs 参数

五、最佳实践建议

  • 网络优化 :建议使用 RDMA 网络(鲲鹏服务器优势)降低 TiKV 延迟

  • 监控体系 :集成 Prometheus + Grafana(自动部署)监控 QPS/延迟/存储水位

  • 备份策略 :使用 cdc同步数据到备份集群,保证数据安全

http://www.lryc.cn/news/2397239.html

相关文章:

  • 正则表达式的前世今生
  • Vue 核心技术与实战智慧商城项目Day08-10
  • TCP/IP协议精华总结pdf分享
  • 组件化:软件工程化的基础
  • ⚡️ Linux grep 命令参数详解
  • 2025年第三届CCF·夜莺开源创新论坛通知
  • GMDCMonitor企业版功能分享0602
  • automa
  • Warm-Flow发布1.7.3 端午节(设计器流和流程图大升级)
  • 【存储基础】SAN存储基础知识
  • 2025年ESWA SCI1区TOP,改进成吉思汗鲨鱼算法MGKSO+肝癌疾病预测,深度解析+性能实测
  • 精益数据分析(93/126):增长率的真相——从数据基准到科学增长策略
  • MAC上怎么进入隐藏目录
  • Spark-TTS: AI语音合成的“变声大师“
  • 【Python 进阶3】常见的 call 和 forward 区别
  • WEB3——简易NFT铸造平台之nft.storage
  • 一元函数积分
  • 6年“豹变”,vivo S30系列引领手机进入场景“体验定义”时代
  • Pytorch的梯度控制
  • linux驱动开发(1)-内核模块
  • AI产品风向标:从「工具属性」到「认知引擎」的架构跃迁​
  • 前端八股之CSS
  • ps自然饱和度调整
  • 有公网ip但外网访问不到怎么办?内网IP端口映射公网连接常见问题和原因
  • InlineHook的原理与做法
  • 微服务-Sentinel
  • DNS缓存
  • MySQL垂直分库(基于MyCat)
  • Rust 变量与可变性
  • 深入理解 C++ 中的 list 容器:从基础使用到模拟实现