1. TiDB的简介
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
2. TiDB部署的软硬件要求
这里主要强调一下,tidb免密登录(手动配置SSH互信以及sudo免密码)最好先提前弄好
3 部署过程
3.1 部署说明
这里我主要部署的是用三台虚拟机
ip地址分别是192.168.56.125、192.168.56.126、192.168.56.127
3.2 离线安装的软件包
离线安装包的下载,官方提供了两种方法,这里我用的是第二种方法,有需要的小伙伴也可以点击下方链接自取(这里我下载的是5.3.3版本的)
链接:https://pan.baidu.com/s/1rSiJjSoQDU1RSvotbelkqw
提取码:x6s6
3.3 部署离线环境的tidb,将下载下来的gz文件进行解压后执行下载操作
//首先进行解压(说明这里的)
tar xzvf tidb-community-server-5.3.3-linux-amd64.tar.gz
//执行相应的下载文件
sh tidb-community-server-5.3.3-linux-amd64/local_install.sh
//使得环境生效
source /home/tidb/.bash_profile
此时,集群安装工具tiup就已经安装完成,后续就是借助tiup工具进行tidb的安装过程
3.4 初始化集群拓朴文件
执行如下命令,生成集群初始化配置文件:
tiup cluster template > topology.yaml
针对两种常用的部署场景,也可以通过以下命令生成建议的拓扑模板:
混合部署场景:单台机器部署多个实例,详情参见混合部署拓扑架构。
tiup cluster template --full > topology.yaml
跨机房部署场景:跨机房部署 TiDB 集群,详情参见跨机房部署拓扑架构。
tiup cluster template --multi-dc > topology.yaml
执行 vi topology.yaml,查看配置文件的内容:(这里我们只有三台机器,所以对应的机器要怎么安装要分配好,以下是我的配置文件)
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
server_configs: {}
pd_servers:
- host: 192.168.56.125
- host: 192.168.56.126
- host: 192.168.56.127
tidb_servers:
- host: 192.168.56.125
- host: 192.168.56.126
- host: 192.168.56.127
tikv_servers:
- host: 192.168.56.125
- host: 192.168.56.126
- host: 192.168.56.127
monitoring_servers:
- host: 192.168.56.125
grafana_servers:
- host: 192.168.56.126
alertmanager_servers:
- host: 192.168.56.127
3.5 执行部署命令
执行部署命令前,先使用 check 及 check --apply 命令检查和自动修复集群存在的潜在风险:
1 检查集群存在的潜在风险:(这里我使用的用户是tidb)
tiup cluster check ./topology.yaml --user tidb
2 部署 TiDB 集群:
tiup cluster deploy tidb-test v5.3.3 ./topology.yaml --user tidb
安装结束后日志结尾输出 Deployed cluster `tidb-test` successfully 关键词,表示部署成功。
3 查看tiup管理的集群情况
tiup cluster list
TiUP 支持管理多个 TiDB 集群,该命令会输出当前通过 TiUP cluster 管理的所有集群信息,包括集群名称、部署用户、版本、密钥信息等。
4 检测部署的tidb集群情况
例如,执行如下命令检查 tidb-test 集群情况:
tiup cluster display tidb-test
预期输出包括 tidb-test 集群中实例 ID、角色、主机、监听端口和状态(由于还未启动,所以状态为 Down/inactive)、目录信息。
5 启动集群
这里我用的免密登录
tiup cluster start tidb-test
预期结果输出 Started cluster `tidb-test` successfully,表示启动成功。使用普通启动方式后,可通过无密码的 root 用户登录数据库。
6 验证集群运行状态
tiup cluster display tidb-test