TiDB V4.0基于TiUP集群部署

2022-07-23 13:17:50

TiDB 简介

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。

环境

注意⚠️防火墙开放相应端口(线上的防火墙不要关闭!),本文基于虚拟机部署,机器都是分配的1核2G,生产环境部署,建议使用 EXT4 类型文件系统的 NVME 类型的 SSD 磁盘存储 TiKV 数据文件。这个配置方案为最佳实施方案,其可靠性、安全性、稳定性已经在大量线上场景中得到证实。

服务器IP节点服务防火墙端口
172.16.16.131node1pd_servers、tidb_servers、monitoring_servers、grafana_servers、alertmanager_servers、TiUP关闭
172.16.16.132node2pd_servers、tidb_servers关闭
172.16.16.133node3pd_servers、tidb_servers关闭
172.16.16.134node4tikv_servers关闭
172.16.16.135node5tikv_servers关闭
172.16.16.136node6tikv_servers关闭

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

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

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

    重新声明全局环境变量:

    source .bash_profile

    确认 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

 初始化配置文件

vi topology.yaml

# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"

pd_servers:
  - host: 172.16.16.131
  - host: 172.16.16.132
  - host: 172.16.16.133

tidb_servers:
  - host: 172.16.16.131
  - host: 172.16.16.132
  - host: 172.16.16.133

tikv_servers:
  - host: 172.16.16.134
  - host: 172.16.16.135
  - host: 172.16.16.136

monitoring_servers:
  - host: 172.16.16.131

grafana_servers:
  - host: 172.16.16.131

alertmanager_servers:
  - host: 172.16.16.131

执行部署命令

注意:

通过 TiUP 进行集群部署可以使用密钥或者交互密码方式来进行安全认证:

  • 如果是密钥方式,可以通过-i 或者--identity_file 来指定密钥的路径;
  • 如果是密码方式,无需添加其他参数,Enter 即可进入密码交互窗口。
tiup cluster deploy tidb-test v4.0.0 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]


例如: tiup cluster deploy tidb-test v4.0.0 ./topology.yaml --user root -p
然后根据提示输入其他节点服务器密码

以上部署命令中:

  • 通过 TiUP cluster 部署的集群名称为tidb-test
  • 部署版本为v4.0.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 管理的所有集群信息,包括集群名称、部署用户、版本、密钥信息等:

Starting /home/tidb/.tiup/components/cluster/v1.0.0/cluster list
Name              User  Version        Path                                                        PrivateKey
----              ----  -------        ----                                                        ----------
tidb-test         tidb  v4.0.0      /home/tidb/.tiup/storage/cluster/clusters/tidb-test         /home/tidb/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa

检查部署的 TiDB 集群情况

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

tiup cluster display tidb-test

预期输出包括tidb-test 集群中实例 ID、角色、主机、监听端口和状态(由于还未启动,所以状态为 Down/inactive)、目录信息。

启动集群

tiup cluster start tidb-test

预期结果输出Started cluster `tidb-test` successfully 标志启动成功。

验证集群运行状态

  • 通过 TiUP 检查集群状态
tiup cluster display tidb-test

预期结果输出,注意 Status 状态信息为Up 说明集群状态正常

  • 执行如下命令登录数据库:
  • 初始密码为空
mysql -u root -h 172.16.16.131 -P 4000

参考官方文档:https://pingcap.com/docs-cn/stable/production-deployment-using-tiup/

  • 作者:JAVA拾贝
  • 原文链接:https://yunkun.blog.csdn.net/article/details/107207186
    更新时间:2022-07-23 13:17:50