- 关于 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)
- 术语表
本地快速部署 TiDB 集群
TiDB 集群是由多个组件构成的分布式系统,一个典型的 TiDB 集群至少由 3 个 PD 节点、3 个 TiKV 节点和 2 个 TiDB 节点构成。对于想要快速体验 TiDB 的用户来说,手工部署这么多组件是非常耗时且麻烦的事情。本文介绍 TiUP 中的 playground 组件,以及如何通过 playground 组件快速搭建一套本地的 TiDB 测试环境。
playground 组件介绍
playground 组件的基本用法:
tiup playground [version] [flags]
如果直接执行 tiup playground
命令,则 TiUP playground 会使用本地安装的 TiDB/TiKV/PD 组件或者安装这些组件的稳定版本,来启动一个由 1 个 TiKV、1 个 TiDB、1 个 PD 实例构成的集群。该命令实际做了以下事情:
- 因为该命令没有指定 playground 的版本,TiUP 会先查找已安装的 playground 的最新版本,假设已安装的 playground 最新版为 v0.0.6,则该命令相当于 tiup playground:v0.0.6
- 如果 playground 从未安装过任何版本的 TiDB/TiKV/PD 组件,TiUP 会先安装这些组件的最新稳定版,然后再启动运行这些组件的实例
- 因为该命令没有指定 TiDB/PD/TiKV 各组件的版本,默认情况下,它会使用各组件的最新发布版本,假设当前为 v4.0.0-rc,则该命令相当于 tiup playground:v0.0.6 v4.0.0-rc
- 因为该命令也没有指定各组件的个数,默认情况下,它会启动由 1 个 TiDB、1 个 TiKV 和 1 个 PD 实例构成的最小化集群
- 在依次启动完各个 TiDB 组件后,playground 会提醒集群启动成功,并告诉你一些有用的信息,譬如如何通过 MySQL 客户端连接集群、如何访问 TiDB Dashboard 等
playground 的命令行参数说明:
Flags:
--db int 设置集群中的 TiDB 数量(默认为1)
--db.binpath string 指定 TiDB 二进制文件的位置(开发调试用,可忽略)
--db.config string 指定 TiDB 的配置文件(开发调试用,可忽略)
--db.host host 指定 TiDB 的监听地址
--drainer int 设置集群中 Drainer 数据
--drainer.binpath string 指定 Drainer 二进制文件的位置(开发调试用,可忽略)
--drainer.config string 指定 Drainer 的配置文件
-h, --help 打印帮助信息
--host string 设置每个组件的监听地址(默认为 127.0.0.1),如果要提供给别的电脑访问,可设置为 0.0.0.0
--kv int 设置集群中的 TiKV 数量(默认为1)
--kv.binpath string 指定 TiKV 二进制文件的位置(开发调试用,可忽略)
--kv.config string 指定 TiKV 的配置文件(开发调试用,可忽略)
--monitor 是否启动监控
--pd int 设置集群中的 PD 数量(默认为1)
--pd.binpath string 指定 PD 二进制文件的位置(开发调试用,可忽略)
--pd.config string 指定 PD 的配置文件(开发调试用,可忽略)
--pump int 指定集群中 Pump 的数量(非 0 的时候 TiDB 会开启 TiDB Binlog)
--pump.binpath string 指定 Pump 二进制文件的位置(开发调试用,可忽略)
--pump.config string 指定 Pump 的配置文件(开发调试用,可忽略)
--tiflash int 设置集群中 TiFlash 数量(默认为0)
--tiflash.binpath string 指定 TiFlash 的二进制文件位置(开发调试用,可忽略)
--tiflash.config string 指定 TiFlash 的配置文件(开发调试用,可忽略)
使用示例
使用每日构建版启动一个 TiDB 集群
tiup playground nightly
nightly 就是这个集群的版本号,类似的可以 tiup playground v4.0.0-rc
等。
启动一个带监控的集群
tiup playground nightly --monitor
该命令会在 9090 端口启动 prometheus 用于展示集群内部的时序数据。
覆盖 PD 的默认配置
首先,你需要复制 PD 的配置模版。假设你将复制的配置文件放置在 ~/config/pd.toml
,按需修改一些内容后,执行以下命令可以覆盖 PD 的默认配置:
tiup playground --pd.config ~/config/pd.toml
替换默认的二进制文件
默认启动 playground 时,各个组件都是使用官方镜像组件包中的二进制文件启动的,如果本地编译了一个临时的二进制文件想要放入集群中测试,可以使用 --{comp}.binpath
这个参数替换,例如执行以下命令替换 TiDB 的二进制文件:
tiup playground --db.binpath /xx/tidb-server
启动多个组件实例
默认情况下各启动一个 TiDB、TiKV 和 PD 实例,如果希望启动多个,可以加上如下参数:
tiup playground v3.0.10 --db 3 --pd 3 --kv 3
快速连接到由 playground 启动的 TiDB 集群
TiUP 提供了 client
组件,用于自动寻找并连接 playground 在本地启动的 TiDB 集群,使用方式为:
tiup client
该命令会在控制台上提供当前机器上由 playground 启动的 TiDB 集群列表,选中需要连接的 TiDB 集群,点击回车后,可以打开一个自带的 MySQL 客户端以连接 TiDB。
查看已启动集群的信息
tiup playground display
可以看到如下信息:
Pid Role Uptime
--- ---- ------
84518 pd 35m22.929404512s
84519 tikv 35m22.927757153s
84520 pump 35m22.92618275s
86189 tidb exited
86526 tidb 34m28.293148663s
86190 drainer 35m19.91349249s
扩容集群
扩容集群的命令行参数与启动集群的相似。以下命令可以扩容两个 TiDB:
tiup playground scale-out --db 2
缩容集群
可在 tiup playground scale-in
命令中指定 pid
,以缩容对应的实例。可以通过 tiup playground display
命令查看 pid
。
tiup playground scale-in --pid 86526
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论