使用 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。