集群管理功能
用户可以通过 TEM 左侧导航栏的“集群管理” 项目来对 TiDB 进行各种管理, TEM 对于集群的管理主要包含:集群概览、新建集群、纳管集群和单个集群管理4部分。
集群概览
集群概览页面主要被分为 Top3 集群和集群列表两部分,另外还包含了“新建集群”按钮来创建新的 TiDB 集群,以及“纳管集群” 按钮将已经存在的 TiDB 集群由 TEM 来进行管理。
第一部分:Top3 集群
这部分会显示由 TEM 管理的具有最高工作负载、数据规模或者告警数量最多的集群。
对于工作负载:TEM采用集群的 QPS 指标来衡量集群的工作负载。 另外,用户可以通过点击图形中集群的名字直接进入到对应集群的“监控指标”页面。
对于数据规模:TEM 会显示集群数据尺寸最大的 3 个集群的信息,TEM 在统计数据尺寸时只会计算所有 TiKV 节点的数据,Tiflash 节点不被计算在内。当用户点击该图形中的某一个集群的名称时,页面会跳转到对应集群的“集群拓扑”页面。
对于告警数量:会显示未被解决的告警数量最多的 3 个集群。在排序的过程中,“紧急”类型的告警具有最高的优先级;“严重”类型的告警优先级次之;“警告”类型的优先级最低。 也就是说,排名最高的集群会具有最多的高级别的未解决的告警事件。
第二部分:集群列表
集群列表信息包含了 TEM 管理的全部的 TiDB 集群信息,包含了每个集群的以下信息:
- 集群名称:用于显示 TiDB 集群的名称,是一个 link,用户可以通过它直接进入到单个集群首页。
- 集群ID:这个 ID 是 TEM 在创建或者导入集群时分配的一个全局唯一的 ID。
- 集群版本:表示这个 TiDB 集群的版本。
- 状态:用于描述 TiDB 集群的状态。 例如:运行中,已停止,停止中,启动中,创建中,删除中等。
- 创建时间:用于显示 TiDB 集群的创建时间。
- 性能概要:用于显示该集群的 QPS 和会话数这两个主要描述集群工作负载的指标的平均值。
- 告警概要:用户列出该集群现存的告警的基本信息。
标签:用于显示用户在 TEM 系统中给集群添加的标签,并且支持基于标签进行检索。
另外,TEM 还支持在集群列表中,对单个 TiDB 集群进行以下操作:
停止:用于停止一个 TiDB 集群。
- 重启:用于重新启动一个 TiDB 集群。
- 启动:用于启动一个 TiDB 集群。
- 重载:用于应用一个集群被修改过的参数,并以滚动的方式重新启动集群的各个节点。
- 销毁:用于删除一个 TiDB 集群,该操作会彻底销毁一个 TiDB 集群,请谨慎操作。
丢弃:用于将一个 TiDB 集群从 TEM 中删除,但是对于被丢弃的 TiDB 集群本身,仍然正常工作。可以认为是纳管集群的相反的操作。
注意: TEM 在丢弃一个集群时,并不会在元数据库中删除被丢弃的集群所在的主机信息,用户需要在页面中手动下线对应的主机。如果需要的话,用户需要手动登陆到部署 TEM 的主机上运行 tiup 命令清楚被丢弃的集群保存在 TiUP 中的元数据。
TEM 会将以上的各种操作编排成相应的任务流来完成,如果操作的 TiDB 集群规模比较大,对应的任务可能会运行比较长的时间。目前,TEM 支持 admin 用户在 TEM 中的“任务流”菜单项中查看对应任务流的状态;如果任务流报错,用户可以在修正对应的错误之后,选择重启任务流。如果用户暂时无法修正错误,TEM 也支持对于重载、销毁和集群的扩容、缩容操作任务执行取消操作。最后,需要提醒的是,出于系统稳定性和安全的考虑,对于任务流的各种操作,目前仅支持用户使用具有 admin 角色的用户执行,其他用户暂不支持。
新建集群
通过 TEM 创建 TiDB 集群总共分为四部分:
第一部分:基本配置和部署信息
中控节点配置(可选)
- 中控节点:TEM 支持使用用户自己部署的 TiUP 来管理集群,这个 TiUP 实例被称为中控节点,中控节点可手动添加,或在纳管集群时加入。
- 本地配置:TEM 本地自带的 TiUP。
- 默认 TiUP 配置:将中控节点设置为默认的 TiUP 配置后,下次创建集群便会使用默认配置。
集群配置
- 集群名称:用于指定 TiDB 的集群名称。为了方便管理,TEM 创建集群时必须遵守以下规范:
- 集群名只能包含字母,数字和下划线。
- 集群名必须以字符开头
- 集群名总长度不能超过 64 个字符。
- root 密码:用于指定 root 用户的密码,目前 TEM 对 root 用户的密码复杂度不进行限制。前端支持为用户产生一个安全性比较高的密码。
- 集群版本:用于指定安装的 TiDB 的软件版本,目前 TEM 支持 7.1.x , 6.5.x 和 6.1.x 版本,以及 TiDB 企业版(即:7.1.1-0)。在创建集群之前,请确认对应版本的 TiDB 集群安装包以及被合并到了 TEM 所在节点的 TiUP 仓库当中。
- CPU 架构:用于指定部署 TiDB 集群主机的 CPU 架构。目前仅支持
x86_64
和aarch64
两个选项。
组件配置
注意: 在集群创建或扩容时,建议单台主机新增节点数小于 9,避免主机因SSHD
连接数限制报错。
组件和节点:TiDB 可以根据不同的组件组合成所需的集群,组件的实体称之为节点。
- 必选组件:部署集群必须包含的组件,如不配置主机地址,会报错。
- 节点增删:用户可以通过页面中的➕和➖按钮来添加或删除节点。
- 非必选组件: 由于 TiFlash,Prometheus alertmanager,CDC, Pump 和 Drainer 不是 TiDB 集群的必选组件,用户可以在主机地址中不输入内容来达到不安装对应副本的目的。
- 其他节点:包括了 Prometheus,Prometheus alertmanager,Grafana,CDC,Pump 和 Drainer。绝大部分情况下,使用默认配置即可。
主机地址(必选):选择对应组件需要安装的主机的 IP 地址,可选的主机只能是空闲的状态,同一个主机可安装多个组件。
- 所属机房(可选):用户在创建或者导入主机的时候选择了机房,可以在这里选择
所属机房
为特定值的主机。该下拉框默认显示信息为空,表示不做任何过滤,该项目为可选项。 机器规格(可选):用户可以在这里选择
机器规格
找到满足特定规格要求的主机,对于独占模式,只过滤出 CPU,内存,CPU 架构和操作系统等信息与规格中记录的信息相同的主机。该下拉框默认显示信息为空,表示不做任何过滤,该项目为可选项。端口
- 客户访问端口:该端口用于指定客户端访问该组件时使用的端口。
- 状态/Peer端口:该端口用于监控信息采集或用于数据同步等功能的端口。
其他端口: 用于指定特定的组件需要使用的其他端口。
注意: 单机多实例部署时,请务必经检查端口配置是否冲突。
- NUMA 节点:用于指定该节点所属的 numa 节点编号,该选项为可选项。
- 其它可选配置
- 组件特殊配置: 比如 Drainer 的下游地址配置。
- ssh端口:指定连接到该主机需要使用的 ssh 端口,默认值为 22,推荐使用默认配置。
除了手动置顶集群各个组件的信息之外,TEM 还支持用户通过直接编辑集群拓扑 YAML 文件和上传 YAML 文件的方式来指定集群的拓扑信息。
- YAML 方式: 是指用户可以通过在 TEM 上编辑符合 TiUP 格式的集群拓扑文件的方式来指定需要创建的集群的拓扑结构和各种配置信息。另外,为了方便用户创建集群,TEM 还给出了常见的部署场景对应的集群拓扑 YAML 文件的示例。
- 自定义方式: 是指用户将已有的集群拓扑 yaml 文件或者包含了集群拓扑结构与配置的 excel 文件上传, TEM 会自动解析出集群的各个组件的信息,以及集群的配置信息,用户可以在此基础之上进行编辑,从而提升创建集群的效率。 对于集群拓扑和配置的 excel 文件的模版,可以点击页面上的集群拓扑 Excel 模版的 "xlsb(支持宏)" 和 "xlsx" 链接下载对应示例文件,其中需要注意的主要有几点:
- 请确保集群的每个节点的地址、资源、端口和路径相关的信息都被正确填写。
- 对于不需要部署的组件,请删除示例中对应的内容。对于可选的配置,可以不用填写,直接留空。
- 如果创建集群的主机没有配置 NUMA 节点内容,则“NUMA节点”列不填写任何内容即可。
- 对于集群的全局变量,参数类型列统一填写“全局变量”,所属组件列统一填写为“TiDB”。
如上图所示, TEM 会解析出上传的文件中的各个节点的信息。如果需要,可以点击页面中的“添加”按钮增加新的节点,或者点击对应节点最后的编辑链接修改该节点的信息。
第二部分:部署位置
这部分的内容用于指定各个组件的部署位置,和集群规模中的信息类似,一共包含 7 种组件。默认的部署位置规则为:
- 软件部署位置:请在这里指定软件安装的路径,并确保该路径可以被访问,默认路径为 “/tidb-deploy/<组件名>-<客户访问端口号>“,强烈推荐用户使用默认位置。
- 软件的数据路径: 请在这里指定 TiDB 集群保存数据的路径,并确保该路径可以被访问并包含足够的空闲空间。默认路径为 ”/tidb-data/<组件名>-<客户访问端口号>”,,强烈推荐用户使用默认位置。
- 软件日志位置:请在这里指定软件的日志路径,并确保该路径可以被访问。默认路径为 “/tidb-deploy/<组件名>-<客户访问端口号>/log” ,强烈推荐用户使用默认位置。
说明:目前 TEM 不支持将相同组件在不同的主机上部署到不同的路径上去。
第三部分:参数配置
这部分内容用来配置 TiDB 集群最主要的几个核心组件的参数。
选择参数组模版:这个下拉框用来指定新创建的集群应该使用哪个参数组模版。默认会使用 “<版本编号>_default” 这个模版,该模版包含了 TiDB 集群的最佳实践中建议修改的配置, 也是 TEM 推荐用户使用的参数组模版。如果用户选择“新建参数组模版”,则跳转到参数组模版管理页面中的 “新建参数模版” 页面。
新增参数:用户可以在已经使用的参数模版的基础上编辑其他的参数。如果需要,也可以根据需要点击该参数操作列的"❌"删除掉某一个参数,被删除的参数将取其默认值。
另外,如果用户使用了 yaml 或高级方式创建集群,则 yaml 文件中指定的集群配置也会在这部分中显示,用户可以根据需要进行修改。
第四部分:预览
当用户选择完成新创建的集群的各种信息之后,TEM 会显示即将被创建的集群的预览页面,其中包含了集群的整个拓扑结构信息和配置信息。
以上页面中的大部分内容和新建集群页面的含义是类似的,这里不做过多的介绍。另外,TEM 支持基于集群预览页面中的信息下载集群的拓扑 yaml 文件。
纳管集群
用于将已经存在的 TiDB 集群导入到 TEM 系统中进行管理。
在上面的页面中,用户需要输入需要纳管的 TiDB 集群对应的 TiUP 中控机相关的连接信息。之后点击下一步进入被发现的集群列表页面。 用户根据需要选择需要纳管的集群。
如上图所示,TEM 会显示出通过 TiUP 能够发现的各个 TiDB 集群,并显示集群名称,集群版本,部署的用户和对应的集群元信息的位置。 用户点击“确认”后,输入需要导入的 TiDB 集群的连接和部署信息,即可完成对集群的纳管。另外,TEM 从 2.1.1 版本开始支持用户使用纳管集群时输入的 TiUP 中控机继续管理被纳管的 TiDB 集群。
远程纳管
TEM 将会使用原有中控机上的 TiUP 管理集群。同时,创建集群时,也可以指定这个 TiUP 来部署集群。
注意:纳管后,请勿手动使用 TiUP 运维集群,以免造成 TEM 管控异常。