- 文档中心
- 关于 TiDB
- 快速上手
- 部署标准集群
- 数据迁移
- 运维操作
- 监控与告警
- 故障诊断
- 性能调优
- 系统调优
- 软件调优
- SQL 性能调优
- SQL 性能调优概览
- 理解 TiDB 执行计划
- SQL 优化流程
- 控制执行计划
- 教程
- 同城多中心部署
- 两地三中心部署
- 同城两中心部署
- 读取历史数据
- 使用 Stale Read 功能读取历史数据(推荐)
- 使用系统变量
tidb_snapshot
读取历史数据
- 最佳实践
- Placement Rules 使用文档
- Load Base Split 使用文档
- Store Limit 使用文档
- TiDB 工具
- 功能概览
- 适用场景
- 工具下载
- TiUP
- 文档地图
- 概览
- 术语及核心概念
- TiUP 组件管理
- FAQ
- 故障排查
- TiUP 命令参考手册
- 命令概览
- TiUP 命令
- TiUP Cluster 命令
- TiUP Cluster 命令概览
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUP DM 命令
- TiUP DM 命令概览
- tiup dm audit
- tiup dm deploy
- tiup dm destroy
- tiup dm disable
- tiup dm display
- tiup dm edit-config
- tiup dm enable
- tiup dm help
- tiup dm import
- tiup dm list
- tiup dm patch
- tiup dm prune
- tiup dm reload
- tiup dm replay
- tiup dm restart
- tiup dm scale-in
- tiup dm scale-out
- tiup dm start
- tiup dm stop
- tiup dm template
- tiup dm upgrade
- TiDB 集群拓扑文件配置
- DM 集群拓扑文件配置
- TiUP 镜像参考指南
- TiUP 组件文档
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB Data Migration
- Backup & Restore (BR)
- TiDB Binlog
- TiCDC
- TiUniManager
- sync-diff-inspector
- TiSpark
- 参考指南
- 架构
- 监控指标
- 安全加固
- 权限
- SQL
- SQL 语言结构和语法
- SQL 语句
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BEGIN
CHANGE COLUMN
CHANGE DRAINER
CHANGE PUMP
COMMIT
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP PLACEMENT POLICY
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
RENAME USER
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW [BACKUPS|RESTORES]
SHOW ANALYZE STATUS
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- 数据类型
- 函数与操作符
- 聚簇索引
- 约束
- 生成列
- SQL 模式
- 表属性
- 事务
- 垃圾回收 (GC)
- 视图
- 分区表
- 临时表
- 字符集和排序
- Placement Rules in SQL
- 系统表
mysql
- INFORMATION_SCHEMA
- Overview
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PLACEMENT_RULES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- CLI
- 命令行参数
- 配置文件参数
- 系统变量
- 存储引擎
- 遥测
- 错误码
- 通过拓扑 label 进行副本调度
- 常见问题解答 (FAQ)
- 版本发布历史
- 术语表
你正在查看 TiDB 数据库的较旧版本 (TiDB v5.4) 的文档。
tiup cluster check
对于严肃的生产环境,在正式上线之前需要进行一系列检查,来确保集群拥有最好的表现。为了简化人工检查的步骤,TiUP Cluster 提供了 check
子命令,用于检查指定集群的机器硬件和软件环境是否满足正常运行条件。
检查项列表
操作系统版本
检查部署机操作系统发行版和版本:目前仅支持部署在 CentOS 7 的操作系统上,之后随兼容性改进可能支持更多系统版本。
CPU EPOLLEXCLUSIVE
检查部署机 CPU 是否支持 EPOLLEXCLUSIVE。
numactl
检查部署机是否安装 numactl,若用户配置绑核,则必须安装 numactl。
系统时间
检查部署器系统时间是否同步:将部署机系统时间与中控机对比,偏差超出某一阈值(500ms)后报错。
时间同步服务
检查部署机是否配置了时间同步服务:即 ntpd 是否在运行
Swap 分区
检查部署机是否启用 Swap 分区:建议禁用 Swap 分区
内核参数
检查各项内核参数的值:
- net.ipv4.tcp_tw_recycle: 0
- net.ipv4.tcp_syncookies: 0
- net.core.somaxconn: 32768
- vm.swappiness: 0
- vm.overcommit_memory: 0 或 1
- fs.file-max: 1000000
THP(透明大页)
检查部署机是否启用透明大页:建议禁用透明大页。
系统限制
检查 /etc/security/limits.conf 中各项 limit 值:
<deploy-user> soft nofile 1000000
<deploy-user> hard nofile 1000000
<deploy-user> soft stack 10240
其中 <deploy-user>
为部署、运行 TiDB 集群的用户,最后一列的数值为要求达到的最小值。
SELinux
检查 SELinux 是否启用:建议用户禁用 SELinux。
防火墙
检查 FirewallD 服务是否启用:建议用户禁用 FirewallD 或为 TiDB 集群各服务添加允许规则。
irqbalance
检查 irqbalance 服务是否启用:建议用户启用 irqbalance 服务。
磁盘挂载参数
检查 ext4 分区的挂载参数:确保挂载参数包含 nodelalloc,noatime 选项。
端口占用
检查部署机上是否已有进程占用了端口:检查拓扑中定义的端口(包括自动补全的默认端口)在部署机上是否已被占用。
端口占用检查假设集群尚未启动,如果检查的是已经部署并启动的集群,那么端口占用检查一定会失败,因为端口确实被占用了。
CPU 核心数
检查部署机 CPU 信息:建议生产集群 CPU 逻辑核心数 >= 16
默认不检查 CPU 核心数,需要通过选项 --enable-cpu
启用。
内存大小
检查部署机的内存大小:建议生产集群总内存容量 >= 32Gb。
默认不检查内存大小,需要通过选项 --enable-mem
启用。
fio 磁盘性能测试
使用 fio 测试 data_dir 所在磁盘的性能,包括三个测试项目:
- fio_randread_write_latency
- fio_randread_write
- fio_randread
默认不进行 fio 磁盘性能测试,需要通过选项 --enable-disk
启用。
语法
tiup cluster check <topology.yml | cluster-name> [flags]
若集群尚未部署,需要传递将用于部署集群的 topology.yml 文件,tiup-cluster 会根据该文件的内容连接到对应机器去检查。若集群已经部署,则可以使用集群的名字 <cluster-name>
作为检查对象。
若传递的是集群名字,则需要配合 --cluster
选项使用。
选项
--apply
尝试自动修复失败的检查项,目前仅会尝试修复以下项目:
- SELinux
- 防火墙
- irqbalance
- 内核参数
- 系统 Limits
- THP(透明大页)
数据类型:
BOOLEAN
该选项默认关闭,默认值为
false
。在命令中添加该选项,并传入true
值或不传值,均可开启此功能。
--cluster
tiup-cluster 支持对未部署的集群进行检查,也支持对已部署的集群进行检查,命令格式:
tiup cluster check <topology.yml | cluster-name> [flags]
若选择的格式为 tiup cluster check <cluster-name>
则必须加上该选项:tiup cluster check <cluster-name> --cluster
。
该选项的数据类型为 BOOLEAN
。该选项默认关闭,默认值为 false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。
-N, --node
- 指定要检查的节点。该选项的值为以逗号分割的节点 ID 列表,节点 ID 为
tiup-component-cluster-display
命令返回的集群状态表格的第一列。 - 数据类型:
STRINGS
- 如果不指定该选项,默认检查所有节点,即
[]
。
若同时指定了 -R, --role
,那么将检查它们的交集中的服务。
-R, --role
- 指定要检查的角色。该选项的值为以逗号分割的节点角色列表,角色为
tiup-component-cluster-display
命令返回的集群状态表格的第二列。 - 数据类型:
STRINGS
- 如果不指定该选项,默认检查所有角色。
若同时指定了 -N, --node
,那么将检查它们的交集中的服务。
--enable-cpu
- 默认情况下 tiup-cluster 不检查 CPU 核心数,该选项用于启用 CPU 核心数检查。
- 数据类型:
BOOLEAN
- 该选项默认关闭,默认值为
false
。在命令中添加该选项,并传入true
值或不传值,均可开启此功能。
--enable-disk
- 默认情况下 tiup-cluster 不进行 fio 磁盘性能测试,该选项用于启用 fio 磁盘性能测试。
- 数据类型:
BOOLEAN
- 该选项默认关闭,默认值为
false
。在命令中添加该选项,并传入true
值或不传值,均可开启此功能。
--enable-mem
默认情况下 tiup-cluster 不检查内存大小,该选项用于启用内存大小检查。
-u, --user(string,默认为当前执行命令的用户)
指定连接目标机器的用户名,该用户在目标机器上需要有免密 sudo root 的权限。
仅当 --cluster
选项为 false 时该选项有效,否则该值固定为部署集群时拓扑文件中指定的用户名。
-i, --identity_file(string,默认 ~/.ssh/id_rsa)
指定连接目标机器的密钥文件。
仅当 --cluster
选项为 false 时该选项有效,否则该值固定为 ${TIUP_HOME}/storage/cluster/clusters/<cluster-name>/ssh/id_rsa
-p, --password
在连接目标机器时使用密码登录:
- 对于指定了
--cluster
的集群,密码为部署集群时拓扑文件中指定的用户的密码 - 对于未指定
--cluster
的集群,密码为-u/--user
参数指定的用户的密码
- 对于指定了
数据类型:
BOOLEAN
该选项默认关闭,默认值为
false
。在命令中添加该选项,并传入true
值或不传值,均可开启此功能。
-h, --help
- 输出帮助信息。
- 数据类型:
BOOLEAN
- 该选项默认关闭,默认值为
false
。在命令中添加该选项,并传入true
值或不传值,均可开启此功能。
输出
输出含有以下字段的表格:
- Node:目标节点
- Check:检查项
- Result:检查结果(Pass/Warn/Fail)
- Message:结果描述