PingKai Logo下载

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

选择部署方案

敏捷模式目前支持三节点部署和两节点部署。

三节点部署

三节点部署的推荐拓扑、资源规格和配置模版,请参考三节点部署拓扑

两节点部署

两节点部署的推荐拓扑、关键参数和配置模版,请参考两节点部署拓扑

三种仲裁模式的适用场景、选择建议和脚本仲裁示例,请参考敏捷模式两节点仲裁模式使用场景

更多拓扑字段说明,请参考通过 TiUP 部署平凯数据库集群的拓扑文件配置

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

敏捷模式平凯数据库通过 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。

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