0
0
0
0
博客/.../

TiDB集群节点启停操作 学习笔记

 正在缓存-江寒序  发表于  2026-08-22

## 前言

TiDB集群核心由PD、TiKV、TiDB、TiFlash四大组件构成,各组件功能特性不同,节点启停操作规范、风险点差异极大。其中PD为元数据管理核心、TiKV为数据存储核心,操作风险最高,TiDB为无状态计算节点,操作相对简单。本笔记整合标准化启停流程、实操命令、校验方式及避坑要点,适配生产、测试环境运维学习使用。

## 一、集群节点停止操作规范

1.1 PD节点停止(元数据管理节点,高风险)

1.1.1 核心特性与操作前提

PD是TiDB集群的元数据管理、调度、选举核心,集群默认部署3个PD节点,必须保证至少2个节点存活(多数节点),否则集群无法选举Leader,整体瘫痪。

1.1.2 停止方式(优先TiUP工具)

TiUP为官方推荐运维工具,自动适配集群配置,规避手动操作风险。

通用命令:

Plain Text# 停止指定集群、指定IP端口的PD节点tiup cluster stop <cluster-name> -R pd -N <node-ip>:<port>

实操示例:

Plain Text# 停止mycluster集群192.168.1.10的PD节点(默认端口2379)tiup cluster stop mycluster -R pd -N 192.168.1.10:2379

1.1.3 手动停止方式

适用于特殊场景(TiUP异常、离线环境),登录目标节点执行:

Plain Text# 方式1:优雅终止进程kill -TERM <pd-pid># 方式2:systemd服务停止(端口为部署端口,默认2379)systemctl stop pd-2379

1.1.4 节点状态验证

Plain Text# 1.查看整体集群节点状态tiup cluster display <cluster-name># 2.查看PD集群成员状态(指定存活PD节点地址)tiup ctl:v<version> pd -u http://<存活PD地址>:2379 member

1.1.5 关键注意事项

• 严格遵守PD节点多数存活原则(3节点集群≥2存活),禁止超半数PD节点离线;

• 若需永久移除PD节点,不可直接停止,需先执行缩容命令:tiup cluster scale-in <cluster-name> -N <node-ip>:<port>。

1.2 TiKV节点停止(数据存储节点,高风险)

1.2.1 核心特性与操作前提

TiKV为集群数据持久化存储节点,禁止直接停止节点。直接停机会触发集群自动数据重复制,占用大量网络、CPU资源,严重时导致集群读写卡顿,甚至数据副本不足。必须先驱逐节点数据,再停止服务。

1.2.2 标准化停止步骤(核心三步)

第一步:查询目标TiKV节点Store ID

Plain Texttiup cluster display <cluster-name> --format json | jq '.tikv[].store_id'

第二步:驱逐节点数据(核心关键步骤)

Plain Text# 通过pd-ctl指定PD地址、Store ID,开启数据驱逐tiup ctl:v<version> pd -u http://<PD地址>:2379 store <store-id> --label=evict

等待观察:通过 tiup cluster display <cluster-name> 查看节点状态,直至TiKV节点变为Down,代表数据迁移完成。

第三步:停止TiKV服务

通用命令:

Plain Texttiup cluster stop <cluster-name> -R tikv -N <node-ip>:<port>

实操示例:

Plain Text# 停止192.168.1.20的TiKV节点(默认端口20160)tiup cluster stop mycluster -R tikv -N 192.168.1.20:20160

1.2.3 状态验证

执行 tiup cluster display <cluster-name>,确认目标TiKV节点状态为已停止,集群副本数正常。

1.2.4 关键注意事项

• 数据驱逐是TiKV停机的强制前置步骤,生产环境严禁跳过;

• 永久移除TiKV节点:数据驱逐完成 → 停止服务 → 执行缩容 tiup cluster scale-in。

1.3 TiDB节点停止(计算节点,低风险)

1.3.1 核心特性

TiDB为无状态SQL计算节点,不存储持久化数据,仅负责接收、解析、转发SQL请求,启停无数据丢失风险,仅影响节点上的现有业务连接。

1.3.2 停止方式

TiUP工具停止(推荐):

Plain Texttiup cluster stop <cluster-name> -R tidb -N <node-ip>:<port>

实操示例:

Plain Text# 停止192.168.1.30的TiDB节点(默认端口4000)tiup cluster stop mycluster -R tidb -N 192.168.1.30:4000

手动停止:

Plain Textkill -TERM <tidb-pid>systemctl stop tidb-4000

1.3.3 后续操作与验证

• 负载均衡场景:将停机节点从LB后端节点列表中移除,避免无效流量转发;

• 业务验证:确认应用连接自动切换至其他存活TiDB节点,业务无报错。

1.3.4 注意事项

保证集群留存足够TiDB节点,避免单节点承载全部业务流量,引发接口超时、过载问题;K8s环境可通过TiDB Operator、kubectl指令管理节点。

## 二、集群节点启动操作规范

2.1 PD节点启动

2.1.1 TiUP启动(推荐)

Plain Texttiup cluster start <cluster-name> -R pd -N <node-ip>:<port>

示例:

Plain Texttiup cluster start mycluster -R pd -N 192.168.1.10:2379

2.1.2 手动启动

Plain Textsystemctl start pd-2379# 或二进制启动./pd-server --config=<config-file>

2.1.3 验证与注意事项

通过 tiup cluster display <cluster-name> 查看节点正常在线;PD启动后会自动同步集群元数据,同步耗时几秒至几分钟,属于正常现象,无需手动干预。

2.2 TiKV节点启动

2.2.1 TiUP启动(推荐)

Plain Texttiup cluster start <cluster-name> -R tikv -N <node-ip>:<port>

示例:

Plain Texttiup cluster start mycluster -R tikv -N 192.168.1.20:20160

2.2.2 手动启动

Plain Textsystemctl start tikv-20160./tikv-server --config=<config-file>

2.2.3 验证与注意事项

节点启动后自动加入集群,若该节点此前执行过数据驱逐,会自动从其他TiKV节点同步全量数据,数据同步完成后节点恢复正常读写能力,期间集群性能轻微波动属于正常情况。

2.3 TiDB节点启动

2.3.1 TiUP启动(推荐)

Plain Texttiup cluster start <cluster-name> -R tidb -N <node-ip>:<port>

示例:

Plain Texttiup cluster start mycluster -R tidb -N 192.168.1.30:4000

2.3.2 手动启动

Plain Textsystemctl start tidb-4000./tidb-server --config=<config-file>

2.3.3 验证

通过集群状态命令确认节点在线,将节点重新加入负载均衡后端,验证业务连接正常接入。

2.4 TiFlash节点重启实操

TiFlash为列式存储分析节点,常用重启命令:

Plain Text# 重启指定TiFlash节点tiup cluster restart crmdb -R tiflash -N 10.10.10.90:9000# 验证节点状态tiup cluster display crmdb

## 三、多环境适配说明

3.1 物理机/虚拟机环境

优先使用 TiUP 运维启停,自动处理配置加载、服务依赖、集群注册,是社区官方标准方案;特殊场景可使用systemd、二进制手动启停。

3.2 Kubernetes环境

依托 TiDB Operator 管理,不直接操作节点,通过副本数、CRD配置管控集群:

Plain Text# 调整TiDB Pod副本数,实现节点启停扩容/缩容kubectl scale statefulset tidb -n <namespace> --replicas=<new-replicas># 编辑集群CRD配置kubectl edit tidbcluster <cluster-name> -n <namespace>

## 四、通用运维前置规范(生产必看)

1. 数据备份:所有节点启停、变更操作前,务必备份集群关键数据,规避误操作数据风险;

2. 监控观测:操作全程通过 tiup cluster display、Grafana监控面板实时观测集群状态、副本状态、读写延迟;

3. 低峰操作:生产环境所有节点变更,优先选择业务低峰期执行,减少对线上业务的影响;

4. 预留重试机制:业务侧配置数据库连接重试、熔断机制,适配节点启停短暂连接中断场景。

## 五、常见故障与解决方案

1. PD节点停机后集群无Leader:原因是存活PD节点不足半数,解决方案:立即启动离线PD节点,保证集群≥2个PD存活;

2. TiKV停机后副本不足、集群卡顿:未提前驱逐数据导致,解决方案:等待集群自动补全数据副本,后续严格执行先驱逐、后停机规范;

3. TiDB停机后业务报错:负载均衡未更新、无存活节点兜底,解决方案:及时更新LB配置,保证多TiDB节点冗余部署。

## 六、核心操作总结对照表

节点类型

停止核心流程

启动核心命令

核心注意事项

PD

1.校验存活节点≥2;2.执行tiup stop停机

tiup cluster start -R pd

保证多数节点存活,防止集群无Leader

TiKV

1.查询Store ID;2.驱逐数据;3.等待迁移完成;4.停机

tiup cluster start -R tikv

必须先驱逐数据,禁止直接停机

TiDB

1.执行tiup stop停机;2.更新LB配置

tiup cluster start -R tidb

无状态节点,注意业务连接切换

0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论