写点什么

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. 操作系统

  • 版本信息

  • 需完成以下系统配置

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

  • 检测及安装 NTP 服务

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

二、集群部署

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

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


  • tiup 安装部署

  • tidb 集群部署


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


global:  user: "tidb"  ssh_port: 22  deploy_dir: "/data1/tidb-deploy"  data_dir: "/data1/tidb-data"  listen_host: 0.0.0.0  arch: "arm64"monitored:  node_exporter_port: 9100  blackbox_exporter_port: 9115  deploy_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: 7 log.slow-threshold: 300 max-index-length: 12288 mem-quota-query: 5368709120 performance.txn-total-size-limit: 5368709120 prepared-plan-cache.enabled: true tikv: log.level: "warn" storage.block-cache.capacity: 30GB pd: replication.location-labels: - hostpd_servers: - host: xx.x.xx.xx name: "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.xx port: 4000 status_port: 10080 deploy_dir: "/data1/tidb-deploy/tidb-4000" log_dir: "/data1/tidb-deploy/tidb-4000/log"tikv_servers: - host: xx.x.xx.xx port: 20160 status_port: 20180 deploy_dir: "/data2/tidb-deploy/tikv-20160" data_dir: "/data2/tidb-data/tikv-20160" log_dir: "/data2/tidb-deploy/tikv-20160/log" config: log.level: warntiflash_servers: - host: xx.x.xx.xx ssh_port: 22 tcp_port: 9000 flash_service_port: 3930 flash_proxy_port: 20170 flash_proxy_status_port: 20292 metrics_port: 8234 deploy_dir: /data3/tidb-deploy/tiflash-9000 data_dir: /data3/tidb-data/tiflash-9000 log_dir: /data3/tidb-deploy/tiflash-9000/logkvcdc_servers: - host: xx.x.xx.xx ssh_port: 22 port: 8600 data_dir: "/data1/tidb-data/tikv-cdc-8600" log_dir: "/data1/tidb-deploy/tikv-cdc-8600/log"monitoring_servers: - host: xx.x.xx.xx deploy_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.xx deploy_dir: "/data1/tidb-deploy/grafana-3000"alertmanager_servers: - host: xx.x.xx.xx deploy_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 tidbtiup cluster check ./topology.yaml --apply --user tidbsudo yum install numactltiup cluster check ./topology.yaml --user tidb
复制代码



tiup cluster deploy tidb-test v8.5.1 ./topology.yaml --user tidbtiup cluster start tidb-test --init
复制代码

三、集群验证

1. 状态检查

tiup cluster display tidb-test
复制代码


2. 基础功能测试

  • 安装一个 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;
复制代码

四、常见问题解决

五、最佳实践建议

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

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

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


发布于: 刚刚阅读数: 4
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
WiFi万能钥匙鲲鹏服务器部署 TiDB 集群实战指南_管理与运维_TiDB 社区干货传送门_InfoQ写作社区