使用 TiUP 部署敏捷模式平凯数据库集群

TiUP Cluster 是平凯数据库的集群管理组件,通过 TiUP Cluster 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、弹性扩缩容、版本升级集群、管理集群参数,本文档介绍了适用于平凯数据库敏捷模式的 TiUP Cluster 相关使用方法,如何使用 TiUP 部署平凯数据库敏捷模式集群,以及部署平凯数据库敏捷模式相比部署 TiDB 在使用上一些要注意的区别。

第 1 步:软硬件环境需求及前置检查

软硬件环境需求

环境与系统配置检查

第 2 步:在中控机上部署 TiUP 组件

获取平凯数据库敏捷模式软件包

点击免费下载平凯数据库敏捷模式

安装 tiup cluster 组件

# 安装 TiDB 敏捷模式定制 tiup cluster 组件 tiup install cluster:${VERSION}

第 3 步:初始化集群拓扑文件

单台敏捷模式平凯数据库简化示例

最简单的 1 台敏捷模式平凯数据库集群示例 topology.yaml 文件如下:

global: kind: fusion user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" monitored: node_exporter_port: 9700 blackbox_exporter_port: 9715 server_configs: pd: replication.max-replicas: 1 replication.enable-placement-rules: false tidb_servers: - host: 172.19.0.101 monitoring_servers: - host: 172.19.0.101 grafana_servers: - host: 172.19.0.101

注意:

  • 需要设置集群的 kind 为 fusion。

3 台敏捷模式平凯数据库集群简化示例

最简单的 3 台敏捷模式平凯数据库集群示例 topology.yaml 文件如下:

global: kind: fusion user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" monitored: node_exporter_port: 9700 blackbox_exporter_port: 9715 tidb_servers: - host: 172.19.0.101 - host: 172.19.0.102 - host: 172.19.0.103 monitoring_servers: - host: 172.19.0.101 grafana_servers: - host: 172.19.0.101

注意:

  • 需要设置集群的 kind 为 fusion。
  • 可以只写 tidb_servers,省略 pd_servers 和 tikv_servers。
  • 如需单独设置 pd_servers 和 tikv_servers 的配置,则 tidb_servers,pd_servers 和 tikv_servers 的数量必须一样,且每个实例的 host 地址必须是一样的。

3 台敏捷模式平凯数据库集群完整示例

如需设置每个 tidb/pd/tikv 的配置,示例 topology.yaml 文件如下:

global: kind: fusion user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy-tidbx1" data_dir: "/tidb-data-tidbx1" monitored: node_exporter_port: 9700 blackbox_exporter_port: 9715 tidb_servers: - host: 172.19.0.101 port: 4002 status_port: 10082 - host: 172.19.0.102 port: 4002 status_port: 10082 - host: 172.19.0.103 port: 4002 status_port: 10082 pd_servers: - host: 172.19.0.101 client_port: 2579 peer_port: 2580 - host: 172.19.0.102 client_port: 2579 peer_port: 2580 - host: 172.19.0.103 client_port: 2579 peer_port: 2580 tikv_servers: - host: 172.19.0.101 port: 25360 status_port: 25380 - host: 172.19.0.102 port: 25360 status_port: 25380 - host: 172.19.0.103 port: 25360 status_port: 25380 monitoring_servers: - host: 172.19.0.101 ng_port: 17020 port: 9790 grafana_servers: - host: 172.19.0.101 port: 3700

敏捷模式平凯数据库主从复制示例

敏捷模式平凯数据库通过 TiCDC 支持异步的主从复制。TiCDC 是一款 TiDB 增量数据同步工具,通过拉取上游平凯数据库的数据变更日志,TiCDC 将数据解析为有序的行级变更数据输出到下游平凯数据库,可实现以下能力:

  • 提供平凯数据库 -> 平凯数据库/MySQL 之间数据容灾复制的能力,实现秒级别 RPO 和分钟级别 RTO
  • 保证数据复制的最终一致性(需开启 redo log)
  • 保证单行的更新与上游更新顺序一致
  • 不保证下游事务的执行顺序和上游完全一致

有关 TiCDC 的详细文档,详见:TiCDC 概述

下图是一个典型的敏捷模式平凯数据库主从复制架构:

在上述主从复制架构中,上游集群和下游集群分别是两套集群,因此我们需要准备两个拓扑文件并分别部署。

上游集群拓扑文件示例如下:

global: kind: fusion user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" monitored: node_exporter_port: 9700 blackbox_exporter_port: 9715 tidb_servers: - host: 172.19.0.101 cdc_servers: - host: 172.19.0.102 monitoring_servers: - host: 172.19.0.101 grafana_servers: - host: 172.19.0.101

此处,我们推荐将 cdc 部署在和下游平凯数据库相同的服务器上,cdc 需要配置在上游的拓扑文件中,但 IP 需要填写下游目标服务器。

下游集群拓扑文件示例如下:

global: kind: fusion user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" monitored: node_exporter_port: 9700 blackbox_exporter_port: 9715 tidb_servers: - host: 172.19.0.103 monitoring_servers: - host: 172.19.0.103 grafana_servers: - host: 172.19.0.103

在分别部署、启动两个集群后,通过 tiup cdc 命令即可创建 TiCDC 复制任务,示例如下:

tiup cdc cli changefeed create \ --server=http://172.19.0.102:8300 \ --sink-uri="mysql://root:123456@172.19.0.102:4000/" \ --changefeed-id="simple-replication-task"

更多 TiCDC 用法和管理指令,参见:管理 Changefeed

敏捷模式平凯数据库 + TiFlash 集群简化示例

TiFlash 是平凯数据库 HTAP 形态的关键组件,它是 TiKV 的列存扩展,下面介绍在最小拓扑集群的基础上,部署 TiFlash 的拓扑结构。示例 topology.yaml 文件如下:

global: kind: fusion user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" monitored: node_exporter_port: 9700 blackbox_exporter_port: 9715 server_configs: pd: replication.max-replicas: 1 replication.enable-placement-rules: false tidb_servers: - host: 172.19.0.101 tiflash_servers: - host: 172.19.0.101 data_dir: /tidb-data/tiflash-9000 deploy_dir: /tidb-deploy/tiflash-9000 monitoring_servers: - host: 172.19.0.101 grafana_servers: - host: 172.19.0.101

第 4 步:执行部署命令

用法和 tiup cluster deploy 基本相同,示例部署命令如下:

CLUSTER_NAME="tidbx-test" tiup cluster deploy ${CLUSTER_NAME} ${VERSION} ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]
  • ${CLUSTER_NAME} 为部署的集群名称,请替换为你要部署的集群名字。

  • ${VERSION} 为部署的集群版本、

  • 初始化配置文件为 topology.yaml (参考第 3 步)。

  • --user root 表示通过 root 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。

  • [-i] 及 [-p] 为可选项,如果已经配置免密登录目标机,则不需填写。否则选择其一即可,[-i] 为可登录到目标机的 root 用户(或 --user 指定的其他用户)的私钥,也可使用 [-p] 交互式输入该用户的密码。

第 5 步:启动并初始化集群

用法和 tiup cluster start 基本相同,示例启动命令如下:

tiup cluster start ${CLUSTER_NAME} --init

注意观察输出,如果集群初始化成功,将显示自动生成的随机 root 密码,如下:

Started cluster `tidbx-test` successfully The root password of TiDB database has been changed. The new password is: 'nd3S+fe6*0^9pv4@1b'. Copy and record it to somewhere safe, it is only displayed once, and will not be stored. The generated password can NOT be get and shown again.

此密码只会展示一次,请注意记录和保存。

第 6 步:验证集群运行状态

用法和 tiup cluster display 基本相同,示例启动命令如下:

tiup cluster display ${CLUSTER_NAME}

预期结果输出:各节点 Status 状态信息为 Up 说明集群状态正常。其中 Activation 一行展示了当前集群的授权状态以及过期时间。示例中 Trial 代表试用 License,更多关于 License 管理相关文档参见下一节。

Cluster type: tidb Cluster name: tidbx-test Cluster kind: fusion Cluster version: nightly Deploy user: tidb SSH type: builtin Activation: Trial (expires at 2025-12-26) Dashboard URL: http://172.19.0.102:2379/dashboard ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- 172.19.0.101:4000 tidb/tikv/pd 172.19.0.101 2379/2380/4000/10080/20160/20180 linux/aarch64 UP /tidb-data/pd-2379,/tidb-data/tikv-20160 /tidb-deploy/pd-2379,/tidb-deploy/tidb-4000,/tidb-deploy/tikv-20160 172.19.0.102:4000 tidb/tikv/pd 172.19.0.102 2379/2380/4000/10080/20160/20180 linux/aarch64 UI|UP /tidb-data/pd-2379,/tidb-data/tikv-20160 /tidb-deploy/pd-2379,/tidb-deploy/tidb-4000,/tidb-deploy/tikv-20160 172.19.0.103:4000 tidb/tikv/pd 172.19.0.103 2379/2380/4000/10080/20160/20180 linux/aarch64 L|UP /tidb-data/pd-2379,/tidb-data/tikv-20160 /tidb-deploy/pd-2379,/tidb-deploy/tidb-4000,/tidb-deploy/tikv-20160 Total nodes: 3

至此,敏捷模式平凯数据库已经部署完毕。全新部署的敏捷模式平凯数据库默认持有试用版 License,有效期为 180 天,试用版 License 无功能限制,可体验所有功能。关于 License 的更多内容,另请参见 License 管理tiup cluster license