TiDB从0到1系列
- TiDB-从0到1-体系结构
- TiDB-从0到1-分布式存储
- TiDB-从0到1-分布式事务
- TiDB-从0到1-MVCC
- TiDB-从0到1-部署篇
一、TiUP
TiUP是TiDB4.0版本引入的集群运维工具,通过TiUP可以进行TiDB的日常运维工作,包括部署、启动、关闭、销毁、弹性扩缩容和升级TiDB集群,以及管理TiDB集群参数。相较二进制、yum等部署方式,TiUP的部署管理TiUP简直可以用轻松愉快来形容。
TiUP安装也很简单
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source /root/.bash_profile
两条命令过后,就可以在服务器上体验TiUP了
二、TiDB部署规划
之前讲到TiDB基础组件有4个,TiDB Server、PD、TiKV、TiFlash(非必要)。
所以我们测试就规划一套7节点的TiDB
因为是测试环境,对服务器资源看个人情况就行,我这里都是2C2G的机器,跑起来还是没问题的。
但是服务器的基础准备工作还是要做的。
- 系统参数配置
- 关闭SWAP
- 关闭防火墙设置
- 安装NTP服务
- 操作系统优化参数
- SSH互信与sudo免密码配置
- Numactl工具安装
TiDB部署
1、生成配置文件模板
首先在TiUP所在服务器生成配置文件模板
tiup cluster template > /topology.yaml
配置文件中详细的说明了各个配置项,主要就是各个组件所在服务器的地址、数据目录、日志目录等
2、创建配置文件
根据配置文件模板,讲我们自己的服务器环境配置进去
3、检查适配性
这也是TiUP非常亮眼的一个功能,TiUP会根据配置文件校验我们服务器的环境是否满足运行TiDB的标准
tiup cluster check ./topology.yaml --user root
检查出来有种从“入门到放弃”的感觉啊,这么多Fail
但是TiUP非常周到,提供了自动修复功能
tiup cluster check ./topology.yaml --apply
4、部署TiDB集群
根据我们的配置文件,同时指定版本拉起一套TiDB集群
tiup cluster deploy tidb-test v7.5.1 ./topology.yaml
查看集群列表
tiup cluster list
检查集群情况
tiup cluster display tidb-test
看到集群各个节点还都处于未启动状态
启动集群
###普通启动,不生成root密码
tiup cluster start tidb-test
### 安全启动,生成root密码
tiup cluster start tidb-test --init
小细节啊,先启动PD(大脑),再启动TiKV(数据),最后启动TiDB Server和监控
TiDB体验
TiDB启动后,我们可以通过TiUP管理命令查看集群状态
tiup cluster display tidb-test
(各组件正常运行)
TiDB是支持MySQL连接协议的,我们可以直接通过MySQL客户端连接TiDB
./mysql-8.0.26-linux-glibc2.12-x86_64/bin/mysql -uroot -p7H9@geZbu1^62C8c+- -h192.168.14.121 -P4000
也可以通过dashboard监控TiDB
http://192.168.14.122:2379/dashboard/#/cluster_info/instance
最后当我们测试结束也可以通过TiUP清理掉整个测试集群
tiup cluster destroy tidb-test
彩蛋
TiDB也支持云原生部署,www.tidbcloud.com,目前免费体验。