0
1
1
0
专栏/.../

记一次 TiDB v7.1 版本生产环境的完整搭建流程

 随缘天空  发表于  2023-10-23

本文包含以下内容:

1、安装的硬件要求

2、安装前环境检查及系统优化

3、集群搭建

4、服务访问

1、硬件要求

tidb集群搭建对服务器的cpu和内存有要求,过低的配置可能会导致搭建失败或影响集群性能

tidb安装硬件要求.png

2、安装前环境检查及系统优化

为了保证安装顺利和集群的性能,安装前我们需要对环境做一些检查,以便使用tiup check命令检查时能顺利的通过校验检查以及优化一些系统参数,以便保证安装后集群的性能。此流程主要分为5大步。第一:磁盘挂载,第二:关闭防火墙,第三:检测及关闭系统swap,第四:检测及安装NTP服务,第五: 操作系统检查及参数优化

  • 磁盘挂载:

1、查看数据盘 fdisk -l

2、创建分区 parted -s -a optimal /dev/nvme0n1 mklabel gpt -- mkpart primary ext4 1 -1

3、格式化文件系统 mkfs.ext4 /dev/nvme0n1p1

4、查看数据盘分区 UUID lsblk -f

磁盘分区uuid图.png

5、编辑 /etc/fstab 文件,添加 nodelalloc 挂载参数。 执行如下命令进入fstab文件,然后将文本添加到最后一行并保存

vi /etc/fstab

文本: UUID=c51eb23b-195c-4061-92a9-3fad812cc12f /data1 ext4 defaults,nodelalloc,noatime 0 2

上述的uuid要换成步骤4中机器实际的uuid,/data1换成服务器上实际被挂载的目录

6、挂载数据盘 mount -a

7、执行以下命令,如果文件系统为 ext4,并且挂载参数中包含 nodelalloc,则表示已生效。

mount -t ext4

  • 关闭防火墙

1、关闭命令:systemctl stop firewalld.service

2、关闭自启动:systemctl disable firewalld.service

3、检查防火墙状态 systemctl status firewalld.service

  • 检测及关闭系统swap

执行如下命令关闭:

echo "vm.swappiness = 0">> /etc/sysctl.conf

swapoff -a && swapon -a

sysctl -p

  • 检测及安装NTP服务

TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性

1、执行以下命令,如果输出running表示 NTP 服务正在运行 sudo systemctl status ntpd.service

ntp服务图.png

2、若返回报错信息Unit ntpd.service could not be found.,请尝试执行以下命令,以查看与NTP进行时钟同步所使用的系统配置是chronyd还是ntpd:

sudo systemctl status chronyd.service


如果输出synchronised to NTP server,表示正在与 NTP 服务器正常同步 如果系统使用的是ntpd时间同步服务,可忽略第4步

4、执行chronyc tracking命令查看 Chrony 服务是否与 NTP 服务器同步。 chronyc tracking

注意:该操作仅适用于使用 Chrony 的系统,不适用于使用 NTPd 的系统。 如果该命令返回结果如下,则表示 Chrony 服务未正常运行:需要手动启动该服务 启动chronyd服务并设置自启动: systemctl start chronyd 启动服务 systemctl status chronyd 查看状态 systemctl enable chronyd 设置开机自启

  • 操作系统检查及参数优化

此流程和官网的基本一致,不再详细介绍,可参考官网https://docs.pingcap.com/zh/tidb/stable/check-before-deployment第5步的配置系统优化参数

3、集群搭建

此流程主要包含tiup工具安装、声明全局环境变量、安装 TiUP 的 cluster 组件、添加集群配置文件、check环境检查、部署和启动等操作。

  • 下载并安装TiUP。curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

tiup安装图.png

  • 声明全局环境变量。 source ${your_shell_profile}

声明环境变量图.png

TiUP 安装完成后会提示对应 Shell profile 文件的绝对路径。在执行以下 source 命令前,需要将 ${your_shell_profile} 修改为 Shell profile 文件的实际位置

  • 安装 TiUP 的 cluster 组件。 tiup cluster
  • 添加集群配置文件

安装集群前,需要先创建集群的拓扑文件,此处可以直接先在本地创建好,比如topo.yanl,复制以下内容,然后传到服务器即可。文件中路径和ip根据实际情况声明,配置文件中的host换成实际安装的ip地址,多节点时最好每个节点安装到不同的服务器上,比如有三个tikv节点,需要三台不同的服务器。

# # 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"  #该路径最好换成磁盘上实际挂载的目录下,比如/xxx/tidb-deploy
  data_dir: "/tidb-data"      #该路径最好换成磁盘上实际挂载的目录下,比如/xxx/tidb-data

# # Monitored variables are applied to all the machines.
monitored:
  node_exporter_port: 9100
  blackbox_exporter_port: 9115

server_configs:
  tidb:
    log.slow-threshold: 1000
  tikv:
    readpool.storage.use-unified-pool: false
    readpool.coprocessor.use-unified-pool: true
  pd:
    schedule.leader-schedule-limit: 4
    schedule.region-schedule-limit: 2048
    schedule.replica-schedule-limit: 64

pd_servers:
  - host: 10.0.0.1
  - host: 10.0.0.1
  - host: 10.0.0.1

tidb_servers:
  - host: 10.0.0.1
  - host: 10.0.0.1

tikv_servers:
  - host: 10.0.0.1	
  - host: 10.0.0.1
  - host: 10.0.0.1

monitoring_servers:
  - host: 10.0.0.1

grafana_servers:
  - host: 10.0.0.1

alertmanager_servers:
  - host: 10.0.0.1
  • 执行部署命令前,先检查环境是否满足要求

tiup cluster check  ./topo.yaml

如果报错:Error:none of ssh password,identity file ,SSH_AUTH_SOCK specified,改成如下命令,

tiup cluster check  ./topo.yaml --user root -p

然后输入密码即可检查环境。如果环境检查不通过,使用如下命令自行修复

tiup cluster check  ./topo.yaml --apply --user root -p

尽量保证检查的结果result栏为pass状态,如果没有绑核,numa绑核对应的那栏失败可以不用太关心,但是其他栏尽量都通过,最不济是warning状态

  • 部署:

命令如下:

tiup cluster deploy <cluster-name> <version> ./topo.yaml --user root -p

  • 启动集群:

tiup cluster start <cluster-name>

4、服务访问

安装 MySQL 客户端。如果已安装 MySQL 客户端则可跳过这一步骤。 yum -y install mysql

访问 TiDB 数据库,密码为空,也可以使用数据库客户端连接 mysql -h 10.0.1.1 -P 4000 -u root

访问 TiDB 的 Grafana 监控:

通过 http://{grafana-ip}:3000 访问集群 Grafana 监控页面,默认用户名和密码均为 admin。

访问 TiDB 的 Dashboard:

通过 http://{pd-ip}:2379/dashboard 访问集群 TiDB Dashboard 监控页面,默认用户名为 root,密码为空。

执行以下命令查看集群的拓扑结构和状态: tiup cluster display <cluster-name>

到此,集群服务搭建完成,可以正常使用。

以下为集群操作的几个常用命令

停止组件
例如,下列命令只停止 TiDB 组件:
tiup cluster stop ${cluster-name} -R tidb

停止组件中的某一个节点
tiup cluster stop ${cluster-name} -N 10.0.6.194:9090

启动组件中的某一个节点
tiup cluster start ${cluster-name} -N 10.0.6.194:9090

更改组件的配置后,重启组件
tiup cluster reload ${cluster-name} -R 组件名,比如tiup cluster reload tidb-pro -R tidb

0
1
1
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论