使用 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 clustertidb-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 文件系统,挂载时添加 nodelallocnoatime 挂载参数。nodelalloc 是必选参数,否则 TiUP 安装时检测无法通过;noatime 是可选建议参数。

注意:

如果你的数据盘已经格式化成 ext4 并挂载了磁盘,可先执行 umount /dev/nvme0n1p1 命令卸载,从编辑 /etc/fstab 文件步骤开始执行,添加挂载参数重新挂载即可。

/dev/nvme0n1 数据盘为例,具体操作步骤如下:

  1. 查看数据盘。

    fdisk -l
    
    Disk /dev/nvme0n1: 107.4 GB
    
  2. 创建分区表。

    parted -s -a optimal /dev/sdb mklabel gpt -- mkpart primary ext4 1 -1
    

    注意:

    使用 lsblk 命令查看分区的设备号:对于 nvme 磁盘,生成的分区设备号一般为 nvme0n1p1;对于普通磁盘(例如 /dev/sdb),生成的的分区设备号一般为 sdb1

  3. 格式化文件系统。

    mkfs.ext4 /dev/sdb
    
  4. 查看数据盘分区 UUID。

    lsblk -f
    
  5. 编辑 /etc/fstab 文件,添加 nodelalloc 挂载参数。

    vi /etc/fstab
    
    UUID=c51eb23b-195c-4061-92a9-3fad812cc12f /data1 ext4 defaults,nodelalloc,noatime 0 2
    
  6. 挂载数据盘。

    mkdir /data1 && \
    mount -a
    
  7. 执行以下命令,如果文件系统为 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 clustertidb-testsuccessfully 关键词,表示部署成功。

posted @ 2020-09-10 15:17  bystanderC  阅读(556)  评论(0编辑  收藏  举报