乐趣区

关于tidb:掌握TiUP工具-之-离线部署TiDB集群

TiDB 数据库

传统的单机数据库在挪动互联网、云计算、大数据和人工智能等场景下体现的力不从心,为了解决数据平台的扩展性的问题,TiDB 分布式数据库应运而生。TiDB 是当今开源 NewSQL 数据库畛域的代表产品之一。

TiDB 采纳分布式数据库架构,因而服务器数量比拟多。在部署 TiDB 集群时,咱们应用 TiUP 工具来装置整个 TiDB 集群环境。从 TiDB 4.0 版本开始,TiUP 作为新的工具,承当着包管理器的角色,治理着 TiDB 生态下泛滥的组件,如 TiDB、PD、TiKV 等。用户想要运行 TiDB 生态中任何组件时,只须要执行 TiUP 一行命令即可,相比以前,极大地升高了治理难度。

默认状况下 TiUP 工具会联网进行工具包的下载和装置,但生产环境往往都是内网环境,无奈连贯外网进行下载。这种状况下,咱们能够抉择离线的部署办法。本文以 TiDB 5.0 的版本为根底,具体介绍应用 TiUP 工具离线部署 TiDB 集群的过程。

第一步、联网下载 TiUP 包管理器

应用能够联网的主机,下载并装置 TiUP 包管理器工具。命令如下:

curl –proto‘=https’–tlsv1.2 -sSf
https://tiup-mirrors.pingcap…. | sh

第二步、申明全局环境变量

申明全局环境变量,命令如下:

source /root/.bash_profile

执行过程如下:

第三步、通过 TiUP 工具下载所有工具的离线安装包

应用 tiup list tidb 命令能够看到所有 tidb 的版本,咱们能够在其中抉择须要下载的版本。命令如下:

tiup list tidb


而后通过 tiup mirror clone tidb-community-server-${version}-linux-amd64 ${version} –os=linux –arch=amd64

命令进行装置。其中 ${version}须要替换成对应的 TiDB 版本,命令如下:

tiup mirror clone tidb-community-server-v5.2.1-linux-amd64 v5.2.1
–os=linux –arch=amd64

咱们将前两个命令组合在一起,就失去了下载最新版本安装包的命令,命令如下:

version=tiup list tidb|sort -r |head -n 2|tail -n 1|awk ‘{print $1};’ && \
援用
tiup mirror clone tidb-community-server-${version}-linux-amd64
${version} –os=linux –arch=amd64

执行过程如下

须要留神的是,在下载过程中,可能会因为网络问题导致某个工具包下载失败,此时 TiUP 工具会再次尝试下载,如果最终无奈下载实现,TiUP 工具会完结并退出。咱们仍旧能够反复 TiUP 命令来重复尝试下载。开始下载过程时,会生成 tidb-community-server-v5.2.1-linux-amd64 的目录。

另一种办法,通过 wget 或者 curl 工具独立手工下载工具包,而后放入 tidb-community-server-v5.2.1-linux-amd64 目录中。TiUP 工具在下载过程中,在目录中会呈现_tmp 结尾的长期目录,须要手动将这些长期目录删除掉。截图如下:

第四步、应用 tar 命令打包并传输

通过 tar 命令将该组件包打包而后发送到隔离环境的中控机(传输 tar 包过程能够自行抉择办法),命令如下:

tar czvf tidb-community-server-v5.2.1-linux-amd64.tar.gz
tidb-community-server-v5.2.1-linux-amd64

执行过程如下:

第五步、离线装置 TiUP 组件

将离线包发送到指标集群的中控机后,执行以下命令离线装置 TiUP 组件:

tar xzvf tidb-community-server-v5.2.1-linux-amd64.tar.gz && \
援用
sh tidb-community-server-v5.2.1-linux-amd64/local_install.sh && \
援用
source /root/.bash_profile

执行过程如下

第六步、编辑集群初始化配置文件

请依据不同的集群拓扑,编辑 TiUP 所需的集群初始化配置文件。首先生成集群初始化配置模版,命令如下:

tiup cluster template > topology.yaml

执行过程如下:

编辑 TiUP 所需的集群初始化配置文件,命令如下:

vi topology.yaml

执行过程如下:

第七步、检查和修复集群危险

先应用 check 命令来查看集群存在的潜在危险,命令如下:

tiup cluster check ./topology.yaml –user root -p

执行过程如下:


查看后果为 Fail 的内容,外表存在的危险。进一步运行 check –apply 命令,主动修复集群存在的潜在危险,如果主动无奈修复,还须要手工来修复危险。命令如下:

tiup cluster check ./topology.yaml –apply –user root -p

执行过程如下:


修复实现后,再次执行 check 命令进行二次查看,最终后果状态均应该为 Pass(本步骤命令参考上文)。在本文的附录局部,列举了一些可能的危险和解决办法。

第八步、部署 TiDB 集群

执行 deploy 命令部署 TiDB 集群,集群名称应用 sandata,命令如下:

tiup cluster deploy sandata v5.2.1 ./topology.yaml –user root -p

执行过程如下:

第九步、查看集群状态

TiDB 集群部署实现后,默认是敞开状态,通过查看集群状态能够进行确认,命令如下:

tiup cluster display sandata

执行过程如下

第十步、启动 TiDB 集群

最终的指标就是启动 TiDB 集群,命令如下:

tiup cluster start sandata

执行过程如下:

第十一步、确认集群曾经启动

再次查看部署的 TiDB 集群状况,确认最终的启动状态为 Up,命令如下:

tiup cluster display sandata

执行过程如下:

附录 1:解决 numactl not usable, bash: numactl: command not found

应用 yum 来装置 numactl 工具,命令如下:

yum -y install numactl

附录 2:解决 mount point / does not have‘nodelalloc’option set 和

mount point / does not have‘noatime’option set

编辑 /etc/fstab 文件,减少 nodelalloc 和 noatime 的配置,配置如下

附录 3:解决 THP is enabled, please disable it for best performance

编辑 /etc/rc.d/rc.local 文件,减少上面的内容,命令如下:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

执行过程如下:


减少文件执行权限,命令如下:

chmod +x /etc/rc.d/rc.local

最初重启主机,让所有配置失效。

总结

绝对于 TiUP 在线部署,本文介绍的这种离线部署办法更适宜在内网生产环境中部署 TiDB 集群。通过 TiUP 工具,咱们能够很轻松的部署,治理 TiDB 集群。

退出移动版