本地快速部署 TiDB 集群

    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 客户端连接集群、如何访问 等

    playground 的命令行参数说明:

    1. Flags:
    2. --db.binpath string 指定 TiDB 二进制文件的位置(开发调试用,可忽略)
    3. --db.config string 指定 TiDB 的配置文件(开发调试用,可忽略)
    4. --db.host host 指定 TiDB 的监听地址
    5. --drainer int 设置集群中 Drainer 数据
    6. --drainer.binpath string 指定 Drainer 二进制文件的位置(开发调试用,可忽略)
    7. --drainer.config string 指定 Drainer 的配置文件
    8. -h, --help 打印帮助信息
    9. --host string 设置每个组件的监听地址(默认为 127.0.0.1),如果要提供给别的电脑访问,可设置为 0.0.0.0
    10. --kv int 设置集群中的 TiKV 数量(默认为1
    11. --kv.binpath string 指定 TiKV 二进制文件的位置(开发调试用,可忽略)
    12. --kv.config string 指定 TiKV 的配置文件(开发调试用,可忽略)
    13. --monitor 是否启动监控
    14. --pd.binpath string 指定 PD 二进制文件的位置(开发调试用,可忽略)
    15. --pd.config string 指定 PD 的配置文件(开发调试用,可忽略)
    16. --pump int 指定集群中 Pump 的数量(非 0 的时候 TiDB 会开启 TiDB Binlog
    17. --pump.binpath string 指定 Pump 二进制文件的位置(开发调试用,可忽略)
    18. --tiflash int 设置集群中 TiFlash 数量(默认为0
    19. --tiflash.binpath string 指定 TiFlash 的二进制文件位置(开发调试用,可忽略)
    20. --tiflash.config string 指定 TiFlash 的配置文件(开发调试用,可忽略)

    使用示例

    1. tiup playground nightly
    1. tiup playground nightly --monitor

    该命令会在 9090 端口启动 prometheus 用于展示集群内部的时序数据。

    首先,你需要复制 PD 的配置模版。假设你将复制的配置文件放置在 ~/config/pd.toml,按需修改一些内容后,执行以下命令可以覆盖 PD 的默认配置:

    默认启动 playground 时,各个组件都是使用官方镜像组件包中的二进制文件启动的,如果本地编译了一个临时的二进制文件想要放入集群中测试,可以使用 --{comp}.binpath 这个参数替换,例如执行以下命令替换 TiDB 的二进制文件:

    1. tiup playground --db.binpath /xx/tidb-server

    TiUP 提供了 client 组件,用于自动寻找并连接 playground 在本地启动的 TiDB 集群,使用方式为:

    1. tiup client

    该命令会在控制台上提供当前机器上由 playground 启动的 TiDB 集群列表,选中需要连接的 TiDB 集群,点击回车后,可以打开一个自带的 MySQL 客户端以连接 TiDB。

    查看已启动集群的信息

    可以看到如下信息:

    1. Pid Role Uptime
    2. --- ---- ------
    3. 84518 pd 35m22.929404512s
    4. 84519 tikv 35m22.927757153s
    5. 84520 pump 35m22.92618275s
    6. 86189 tidb exited
    7. 86526 tidb 34m28.293148663s
    8. 86190 drainer 35m19.91349249s
    1. tiup playground scale-out --db 2

    缩容集群

    可在 tiup playground scale-in 命令中指定 pid,以缩容对应的实例。可以通过 tiup playground display 命令查看 。