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

网友投稿 511 2023-11-24

本文包含以下内容:

1、安装的硬件要求

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

3、集群搭建

4、服务访问

1、硬件要求

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

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

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

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

sudo systemctl status chronyd.service

3、执行 ntpstat 命令检测是否与 NTP 服务器同步 ntpstat

如果输出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

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HAProxy安装及搭建tidb数据库负载均衡服务实战
下一篇:TiDB 7.x 源码编译之 TiDB Server 篇,及新特性详解(文末彩蛋)
相关文章