- 关于 TiDB
- 快速上手
- 部署集群
- 数据迁移
- 数据迁移概述
- 从 MySQL 迁移至 TiDB
- 从 CSV 文件迁移至 TiDB
- 运维操作
- 监控与告警
- 故障诊断
- 性能调优
- 系统调优
- 软件调优
- SQL 性能调优
- 教程
- TiDB 生态工具
- TiDB 生态工具功能概览
- TiDB 生态工具适用场景
- TiDB 工具下载
- Backup & Restore (BR)
- TiDB Binlog
- TiDB Lightning
- TiCDC 简介
- Dumpling 使用文档
- sync-diff-inspector
- Loader 使用文档
- Mydumper 使用文档
- Syncer 使用文档
- TiSpark
- 参考指南
- 架构
- 监控指标
- 安全加固
- 权限
- SQL
- SQL 语言结构和语法
- 属性
- 字面值
- Schema 对象名
- 关键字
- 用户自定义变量
- 表达式语法
- 注释语法
- SQL 语句
- ADD COLUMN
- ADD INDEX
- ADMIN
- ALTER DATABASE
- ALTER INSTANCE
- ALTER TABLE
- ALTER USER
- ANALYZE
- BACKUP
- BEGIN
- CHANGE COLUMN
- CHANGE DRAINER
- CHANGE PUMP
- COMMIT
- CREATE [GLOBAL|SESSION] BINDING
- CREATE DATABASE
- CREATE INDEX
- 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 ROLE
- DROP SEQUENCE
- DROP STATS
- DROP TABLE
- DROP USER
- DROP VIEW
- EXECUTE
- EXPLAIN ANALYZE
- EXPLAIN
- FLASHBACK TABLE
- FLUSH PRIVILEGES
- FLUSH STATUS
- FLUSH TABLES
- GRANT
- GRANT
- INSERT
- KILL [TIDB]
- LOAD STATS
- MODIFY COLUMN
- PREPARE
- RECOVER TABLE
- RENAME INDEX
- RENAME TABLE
- REPLACE
- RESTORE
- REVOKE
- REVOKE
- ROLLBACK
- SELECT
- SET DEFAULT ROLE
- SET [NAMES|CHARACTER SET]
- SET PASSWORD
- SET ROLE
- SET TRANSACTION
- SET [GLOBAL|SESSION]
- 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 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 PLUGINS
- SHOW PRIVILEGES
- SHOW [FULL] PROCESSLIST
- SHOW PROFILES
- SHOW PUMP STATUS
- SHOW SCHEMAS
- SHOW STATS_HEALTHY
- SHOW STATS_HISTOGRAMS
- SHOW STATS_META
- SHOW [GLOBAL|SESSION] STATUS
- SHOW TABLE NEXTROWID
- SHOW TABLE REGIONS
- SHOW TABLE STATUS
- SHOW [FULL] TABLES
- SHOW [GLOBAL|SESSION] VARIABLES
- SHOW WARNINGS
- SHUTDOWN
- Split Region 使用文档
- START TRANSACTION
- TRACE
- TRUNCATE
- UPDATE
- USE
- 数据类型
- 函数与操作符
- 约束
- 生成列
- SQL 模式
- 事务
- 垃圾回收 (GC)
- 视图
- 分区表
- 字符集和排序规则
- 系统表
- TiDB 系统表
- INFORMATION_SCHEMA
- TiDB 简介
- ANALYZE_STATUS
- CHARACTER_SETS
- CLUSTER_CONFIG
- CLUSTER_HARDWARE
- CLUSTER_INFO
- CLUSTER_LOAD
- CLUSTER_LOG
- CLUSTER_SYSTEMINFO
- COLLATIONS
- COLLATIONCHARACTERSET_APPLICABILITY
- COLUMNS
- DDL_JOBS
- ENGINES
- INSPECTION_RESULT
- INSPECTION_RULES
- INSPECTION_SUMMARY
- KEYCOLUMNUSAGE
- METRICS_SUMMARY
- METRICS_TABLES
- PARTITIONS
- PROCESSLIST
- SCHEMATA
- SEQUENCES
- SESSION_VARIABLES
- SLOW_QUERY
- STATISTICS
- TABLES
- TABLE_CONSTRAINTS
- TABLESTORAGESTATS
- TIDBHOTREGIONS
- TIDB_INDEXES
- TIDBSERVERSINFO
- TIFLASH_REPLICA
- TIKVREGIONPEERS
- TIKVREGIONSTATUS
- TIKVSTORESTATUS
- USER_PRIVILEGES
- VIEWS
- Metrics Schema
- SQL 语言结构和语法
- UI
- CLI
- 命令行参数
- 配置文件参数
- 系统变量
- 存储引擎
- TiUP
- 遥测
- 错误码与故障诊断
- TiCDC Open Protocol
- 通过拓扑 label 进行副本调度
- 常见问题解答 (FAQ)
- 术语表
TiUP 常见运维操作
本文介绍了使用 TiUP 运维 TiDB 集群的常见操作,包括查看集群列表、启动集群、查看集群状态、修改配置参数、关闭集群、销毁集群等。
查看集群列表
TiUP cluster 组件可以用来管理多个 TiDB 集群,在每个 TiDB 集群部署完毕后,该集群会出现在 TiUP 的集群列表里,可以使用 list 命令来查看。
tiup cluster list
启动集群
启动集群操作会按 PD -> TiKV -> Pump -> TiDB -> TiFlash -> Drainer 的顺序启动整个 TiDB 集群所有组件(同时也会启动监控组件):
tiup cluster start ${cluster-name}
注意:
你需要将
${cluster-name}
替换成实际的集群名字,若忘记集群名字,可通过tiup cluster list
查看。
该命令支持通过 -R
和 -N
参数来只启动部分组件。
例如,下列命令只启动 PD 组件:
tiup cluster start ${cluster-name} -R pd
下列命令只启动 1.2.3.4
和 1.2.3.5
这两台机器上的 PD 组件:
tiup cluster start ${cluster-name} -N 1.2.3.4:2379,1.2.3.5:2379
注意:
若通过
-R
和-N
启动指定组件,需要保证启动顺序正确(例如需要先启动 PD 才能启动 TiKV),否则可能导致启动失败。
查看集群状态
集群启动之后需要检查每个组件的运行状态,以确保每个组件工作正常。TiUP 提供了 display 命令,节省了登陆到每台机器上去查看进程的时间。
tiup cluster display ${cluster-name}
修改配置参数
集群运行过程中,如果需要调整某个组件的参数,可以使用 edit-config
命令来编辑参数。具体的操作步骤如下:
以编辑模式打开该集群的配置文件:
tiup cluster edit-config ${cluster-name}
设置参数:
首先确定配置的生效范围,有以下两种生效范围:
如果配置的生效范围为该组件全局,则配置到
server_configs
。例如:server_configs: tidb: log.slow-threshold: 300
如果配置的生效范围为某个节点,则配置到具体节点的
config
中。例如:tidb_servers: - host: 10.0.1.11 port: 4000 config: log.slow-threshold: 300
参数的格式参考 TiUP 配置参数模版。
配置项层次结构使用
.
表示。关于组件的更多配置参数说明,可参考 tidb
config.toml.example
、tikvconfig.toml.example
和 pdconfig.toml.example
。执行
reload
命令滚动分发配置、重启相应组件:tiup cluster reload ${cluster-name} [-N <nodes>] [-R <roles>]
示例
如果要调整 tidb-server 中事务大小限制参数 txn-total-size-limit
为 1G
,该参数位于 performance 模块下,调整后的配置如下:
server_configs:
tidb:
performance.txn-total-size-limit: 1073741824
然后执行 tiup cluster reload ${cluster-name} -R tidb
命令滚动重启。
Hotfix 版本替换
常规的升级集群请参考升级文档,但是在某些场景下(例如 Debug),可能需要用一个临时的包替换正在运行的组件,此时可以用 patch
命令:
tiup cluster patch --help
Replace the remote package with a specified package and restart the service
Usage:
tiup cluster patch <cluster-name> <package-path> [flags]
Flags:
-h, --help 帮助信息
-N, --node strings 指定被替换的节点
--overwrite 在未来的 scale-out 操作中使用当前指定的临时包
-R, --role strings 指定被替换的服务类型
--transfer-timeout int transfer leader 的超时时间
Global Flags:
--native-ssh 使用系统默认的 SSH 客户端
--wait-timeout int 等待操作超时的时间
--ssh-timeout int SSH 连接的超时时间
-y, --yes 跳过所有的确认步骤
例如,有一个 TiDB 实例的 hotfix 包放在 /tmp/tidb-hotfix.tar.gz
目录下。如果此时想要替换集群上的所有 TiDB 实例,则可以执行以下命令:
tiup cluster patch test-cluster /tmp/tidb-hotfix.tar.gz -R tidb
或者只替换其中一个 TiDB 实例:
tiup cluster patch test-cluster /tmp/tidb-hotfix.tar.gz -N 172.16.4.5:4000
重命名集群
部署并启动集群后,可以通过 tiup cluster rename
命令来对集群重命名:
tiup cluster rename ${cluster-name} ${new-name}
注意:
- 重命名集群会重启监控(Prometheus 和 Grafana)。
- 重命名集群之后 Grafana 可能会残留一些旧集群名的面板,需要手动删除这些面板。
关闭集群
关闭集群操作会按 Drainer -> TiFlash -> TiDB -> Pump -> TiKV -> PD 的顺序关闭整个 TiDB 集群所有组件(同时也会关闭监控组件):
tiup cluster stop ${cluster-name}
和 start
命令类似,stop
命令也支持通过 -R
和 -N
参数来只停止部分组件。
例如,下列命令只停止 TiDB 组件:
tiup cluster stop ${cluster-name} -R tidb
下列命令只停止 1.2.3.4
和 1.2.3.5
这两台机器上的 TiDB 组件:
tiup cluster stop ${cluster-name} -N 1.2.3.4:4000,1.2.3.5:4000
清除集群数据
此操作会关闭所有服务,并清空其数据目录或/和日志目录,并且无法恢复,需要谨慎操作。
清空集群所有服务的数据,但保留日志:
tiup cluster clean ${cluster-name} --data
清空集群所有服务的日志,但保留数据:
tiup cluster clean ${cluster-name} --log
清空集群所有服务的数据和日志:
tiup cluster clean ${cluster-name} --all
清空 Prometheus 以外的所有服务的日志和数据:
tiup cluster clean ${cluster-name} --all --ignore-role prometheus
清空节点 172.16.13.11:9000
以外的所有服务的日志和数据:
tiup cluster clean ${cluster-name} --all --ignore-node 172.16.13.11:9000
清空部署在 172.16.13.12
以外的所有服务的日志和数据:
tiup cluster clean ${cluster-name} --all --ignore-node 172.16.13.12
销毁集群
销毁集群操作会关闭服务,清空数据目录和部署目录,并且无法恢复,需要谨慎操作。
tiup cluster destroy ${cluster-name}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论