使用 TiUP 部署 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
第三步:编辑初始化配置文件
根据不同的集群拓扑,编辑配置文件模板
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
monitored:
node_exporter_port: 9100
blackbox_exporter_port: 9115
server_configs:
tidb:
log.slow-threshold: 300
tikv:
readpool.storage.use-unified-pool: false
readpool.coprocessor.use-unified-pool: true
pd:
replication.enable-placement-rules: true
pd_servers:
- host: 10.0.0.176
client_port: 2389
peer_port: 2390
tidb_servers:
- host: 10.0.0.176
tikv_servers:
- host: 10.0.0.177
port: 20160
status_port: 20180
- host: 10.0.0.177
port: 20161
status_port: 20181
- host: 10.0.0.177
port: 20162
status_port: 20182
monitoring_servers:
- host: 10.0.0.178
- port: 9092
grafana_servers:
- host: 10.0.0.178
配置文件命名为topology.yaml
第四步:执行部署命令
tiup cluster deploy tidb-test v4.0.0 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]
参数说明:
- 通过 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] 交互式输入该用户的密码
可以采用
tiup cluster deploy tidb-test v4.0.0 ./topology.yaml --user root -p
后续输入手动数据密码
预期日志结尾输出会有 Deployed cluster
tidb-testsuccessfully
关键词,表示部署成功。
第 5 步:查看 TiUP 管理的集群情况
tiup cluster list
第 6 步:检查部署的 TiDB 集群情况
tiup cluster display tidb-test
预期输出包括 tidb-test
集群中实例 ID、角色、主机、监听端口和状态(由于还未启动,所以状态为 Down/inactive)、目录信息。
第 7 步:启动集群
tiup cluster start tidb-test
预期结果输出 Started cluster tidb-test
successfully标志启动成功。
第 8 步:验证集群运行状态
tiup cluster display tidb-test
预期结果输出,注意 Status 状态信息为 Up
说明集群状态正常
- 执行如下命令登录数据库:
mysql -u root -h 10.0.1.4 -P 4000
离线安装
1. 准备 TiUP 离线组件包
2. 部署离线环境 TiUP 组件
将离线包发送到目标集群的中控机后,执行以下命令安装 TiUP 组件:
tar xzvf tidb-community-server-v4.0.0-linux-amd64.tar.gz &&
sh tidb-community-server-v4.0.0-linux-amd64/local_install.sh
source /home/tidb/.bash_profile
3. TiKV 数据盘挂载
注意:
推荐 TiKV 部署目标机器的数据目录使用 EXT4 文件系统格式。相比于 XFS 文件系统格式,EXT4 文件系统格式在 TiDB 集群部署案例较多,生产环境优先选择使用 EXT4 文件系统格式。
使用 root
用户登录目标机器,将部署目标机器数据盘格式化成 ext4 文件系统,挂载时添加 nodelalloc
和 noatime
挂载参数。nodelalloc
是必选参数,否则 TiUP 安装时检测无法通过;noatime
是可选建议参数。
注意:
如果你的数据盘已经格式化成 ext4 并挂载了磁盘,可先执行 umount /dev/nvme0n1p1
命令卸载,从编辑 /etc/fstab
文件步骤开始执行,添加挂载参数重新挂载即可。
以 /dev/nvme0n1
数据盘为例,具体操作步骤如下:
查看数据盘。
fdisk -l
Disk /dev/nvme0n1: 107.4 GB
创建分区表。
parted -s -a optimal /dev/sdb mklabel gpt -- mkpart primary ext4 1 -1
注意:
使用
lsblk
命令查看分区的设备号:对于 nvme 磁盘,生成的分区设备号一般为nvme0n1p1
;对于普通磁盘(例如/dev/sdb
),生成的的分区设备号一般为sdb1
。格式化文件系统。
mkfs.ext4 /dev/sdb
查看数据盘分区 UUID。
lsblk -f
编辑
/etc/fstab
文件,添加nodelalloc
挂载参数。vi /etc/fstab
UUID=c51eb23b-195c-4061-92a9-3fad812cc12f /data1 ext4 defaults,nodelalloc,noatime 0 2
挂载数据盘。
mkdir /data1 && \ mount -a
执行以下命令,如果文件系统为 ext4,并且挂载参数中包含
nodelalloc
,则表示已生效。mount -t ext4
/dev/nvme0n1p1 on /data1 type ext4 (rw,noatime,nodelalloc,data=ordered)
4. 配置初始化参数文件 topology.yaml
cat 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"
server_configs:
pd:
replication.enable-placement-rules: true
pd_servers:
- host: 10.0.1.4
- host: 10.0.1.5
- host: 10.0.1.6
tidb_servers:
- host: 10.0.1.7
- host: 10.0.1.8
- host: 10.0.1.9
tikv_servers:
- host: 10.0.1.1
- host: 10.0.1.2
- host: 10.0.1.3
monitoring_servers:
- host: 10.0.1.4
grafana_servers:
- host: 10.0.1.4
alertmanager_servers:
- host: 10.0.1.4
5. 部署 TiDB 集群
/path/to/mirror
是执行 local_install.sh
命令时输出的离线镜像包的位置:
export TIUP_MIRRORS=/path/to/mirror &&
tiup cluster deploy tidb-test v4.0.0 topology.yaml --user tidb [-p] [-i /home/root/.ssh/gcp_rsa] &&
tiup cluster start tidb-test
参数说明:
通过 TiUP cluster 部署的集群名称为
tidb-test
部署版本为
v4.0.0
,其他版本可以执行tiup list tidb
获取初始化配置文件为
topology.yaml
--user tidb:通过 tidb 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。
[-i] 及 [-p]:非必选项,如果已经配置免密登陆目标机,则不需填写。否则选择其一即可,[-i] 为可登录到部署机 root 用户(或 --user 指定的其他用户)的私钥,也可使用 [-p] 交互式输入该用户的密码
预期日志结尾输出会有 Deployed cluster
tidb-testsuccessfully
关键词,表示部署成功。