3.1.2 TiDB Cluster Operation(本地化部署的 TiDB 集群运维)
TiUP
-
TiUP 简介:
在各种系统软件和应用软件的安装管理中,包管理器均有着广泛的应用,包管理工具的出现大大简化了软件的安装和升级维护工作。例如,几乎所有使用 RPM 的 Linux 都会使用 Yum 来进行包管理,而 Anaconda 则可以非常方便地管理 python 的环境和相关软件包。在早期的 TiDB 生态中,没有专门的包管理工具,使用者只能通过相应的配置文件和文件夹命名来手动管理,像 Prometheus 等第三方监控报表工具甚至需要额外的特殊管理,这样大大提升了运维管理难度。
如今,在 TiDB 4.0 的生态系统里,TiUP 作为新的工具,承担着包管理器的角色,管理着 TiDB 生态下众多的组件(例如 TiDB、PD、TiKV)。用户想要运行 TiDB 生态中任何东西的时候,只需要执行 TiUP 一行命令即可,相比以前,极大地降低了管理难度。用户可以访问 https://tiup.io/ 来查看相应的文档。
-
TiUP安装:
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh该命令将 TiUP 安装在
$HOME/.tiup文件夹下,之后安装的组件以及组件运行产生的数据也会放在该文件夹下。同时,它还会自动将$HOME/.tiup/bin加入到 Shell Profile 文件的 PATH 环境变量中,这样你就可以直接使用 TiUP 了,譬如查看 TiUP 的版本:tiup --version
启动集群:
启动集群操作会按 PD → TiKV → Pump → TiDB → TiFlash → Drainer 的顺序启动整个 TiDB 集群所有组件(同时也会启动监控组件):
$ tiup cluster start ${cluster-name}
该命令支持通过 -R 和 -N 参数来只启动部分组件。
例如,下列命令只启动 PD 组件:
tiup cluster start ${cluster-name} -R pd
下列命令只启动 1.2.3.4 和 1.2.3.5 这两台机器上的 PD 组件:
tiup cluster start ${cluster-name} -N 1.2.3.4:2379,1.2.3.5:2379
查看集群状态:
集群启动之后需要检查每个组件的运行状态,以确保每个组件工作正常。TiUP 提供了 display 命令,节省了登陆到每台机器上去查看进程的时间。
tiup cluster display ${cluster-name}
关闭集群
关闭集群操作会按 Drainer → TiFlash → TiDB → Pump → TiKV → PD 的顺序关闭整个 TiDB 集群所有组件(同时也会关闭监控组件):
tiup cluster stop ${cluster-name}
和 start 命令类似,stop 命令也支持通过 -R 和 -N 参数来只停止部分组件。
例如,下列命令只停止 TiDB 组件:
tiup cluster stop ${cluster-name} -R tidb
下列命令只停止 1.2.3.4 和 1.2.3.5 这两台机器上的 TiDB 组件:
tiup cluster stop ${cluster-name} -N 1.2.3.4:4000,1.2.3.5:4000
此操作会关闭所有服务,并清空其数据目录或/和日志目录,并且无法恢复,需要谨慎操作。
清空集群所有服务的数据,但保留日志:
tiup cluster clean ${cluster-name} --data
清空集群所有服务的日志,但保留数据:
tiup cluster clean ${cluster-name} --log
清空集群所有服务的数据和日志:
tiup cluster clean ${cluster-name} --all
清空 Prometheus 以外的所有服务的日志和数据:
tiup cluster clean ${cluster-name} --all --ignore-role prometheus
清空节点 172.16.13.11:9000 以外的所有服务的日志和数据:
tiup cluster clean ${cluster-name} --all --ignore-node 172.16.13.11:9000
清空部署在 172.16.13.12 以外的所有服务的日志和数据:
tiup cluster clean ${cluster-name} --all --ignore-node 172.16.13.12
销毁集群
销毁集群操作会关闭服务,清空数据目录和部署目录,并且无法恢复,需要谨慎操作。
tiup cluster destroy ${cluster-name}