使用 TiUP 部署 TiDB 集群

TIDB优点

支持分布式且支持事务的关系型数据库,不用考虑分库分表

同时满足了可伸缩,高可用,关系型,支持事务。

基本上按官网的文档来就行了。

在线部署

以普通用户身份登录中控机。以 tidb 用户为例,后续安装 TiUP 及集群管理操作均通过该用户完成:

  1. 执行如下命令安装 TiUP 工具:

    复制代码
    curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh 
  2. 按如下步骤设置 TiUP 环境变量:

    1. 重新声明全局环境变量:

      复制代码
      source .bash_profile 
    2. 确认 TiUP 工具是否安装:

      复制代码
      which tiup 
  3. 安装 TiUP cluster 组件:

    复制代码
    tiup cluster 
  4. 如果已经安装,则更新 TiUP cluster 组件至最新版本:

    复制代码
    tiup update --self && tiup update cluster 

    预期输出 "Update successfully!" 字样。

  5. 验证当前 TiUP cluster 版本信息。执行如下命令查看 TiUP cluster 组件版本:

    复制代码
    tiup --binary cluster

初始化集群拓扑文件

执行如下命令,生成集群初始化配置文件:

复制代码
tiup cluster template > topology.yaml

查看修改 执行 vi topology.yaml,:

准备了四台服务

pd_servers

192.168.30.105

192.168.30.106

192.168.30.107

tidb_servers

192.168.30.105

192.168.30.106

192.168.30.107

tikv_servers

192.168.30.106

192.168.30.107

192.168.30.108

其他只给 192.168.30.105

执行部署命令

  1. 检查集群存在的潜在风险:

    复制代码
    tiup cluster check ./topology.yaml --user root -p
  2. 自动修复集群存在的潜在风险:

    复制代码
    tiup cluster check ./topology.yaml --apply --user root -p
  3. 部署 TiDB 集群:

    复制代码
    tiup cluster deploy tidb-test v7.5.0 ./topology.yaml --user root -p

以上部署示例中:

  • tidb-test 为部署的集群名称。
  • v7.5.0 为部署的集群版本,可以通过执行 tiup list tidb 来查看 TiUP 支持的最新可用版本。
  • 初始化配置文件为 topology.yaml
  • --user root 表示通过 root 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。
  • -i-p 为可选项,如果已经配置免密登录目标机,则不需填写。否则选择其一即可,-i 为可登录到目标机的 root 用户(或 --user 指定的其他用户)的私钥,也可使用 -p 交互式输入该用户的密码。

预期日志结尾输出 Deployed cluster `tidb-test` successfully 关键词,表示部署成功。

查看 TiUP 管理的集群情况

复制代码

tiup cluster list

TiUP 支持管理多个 TiDB 集群,该命令会输出当前通过 TiUP cluster 管理的所有集群信息,包括集群名称、部署用户、版本、密钥信息等。

检查部署的 TiDB 集群情况

例如,执行如下命令检查 tidb-test 集群情况:

复制代码
tiup cluster display tidb-test

连接

效果

其他

cdc安装异常

有报cdc异常,删除了配置

重启

用下面的命令应该是可以,没有试,因为按上面的步骤,在重启105服务时,tidb-test就可用了。

tiup cluster restart | PingCAP 文档中心

tiup cluster restart <cluster-name> [flags]

<cluster-name> 为要操作的集群名字,如果忘记集群名字可通过集群列表查看。

相关推荐
这个DBA有点耶16 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶18 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技19 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend20 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence1 天前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说2 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils2 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend2 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶2 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung2 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql