文档

通过弹性伸缩创建和管理TiDB集群

更新时间:

弹性伸缩可以结合资源编排来创建TiDB集群,并通过伸缩组的扩缩容能力来管理TiDB集群。本文为您介绍通过弹性伸缩创建和管理TiDB集群的方法,根据TiDB集群的实时情况实现该集群中ECS实例的自动扩缩容。

前提条件

  • 您已拥有资源编排ROS的操作权限。

  • 您已拥有弹性伸缩的操作权限。

  • 您已拥有云服务器ECS的操作权限。

背景信息

伸缩组目前不支持直接关联TiDB集群,您可以先通过资源编排ROS创建伸缩组和TiDB集群,然后使用伸缩组的扩缩容功能管理TiDB集群。本文适用于如下场景:

  • 您的业务数据存储在TiDB集群中。

  • 您需要通过弹性扩缩容功能管理TiDB集群。

  • 您需要在TiDB Dashboard界面对TiDB集群进行可视化分析及诊断。

操作步骤

本步骤以使用资源编排创建伸缩组关联的最小拓扑架构TiDB集群为例,该集群包含TiDB Servers,PD Cluster和TiKV Cluster三个组件(角色),具体操作步骤如下所示。

步骤一:创建资源栈

本步骤以创建地域选择华北5(呼和浩特)为例。

  1. 登录资源编排ROS控制台

  2. 在左侧导航栏中,单击资源栈

  3. 在顶部菜单栏处,选择资源栈所在地域为华北5(呼和浩特)

  4. 资源栈列表页面,单击创建资源栈,然后在下拉列表中选择使用ROS

  5. 创建资源栈页面的选择模板阶段,根据需要选择指定模板,然后单击下一步

    模板相关配置项如下所示:

    • 指定模板:模板是一个 JSON或YAML文件,该文件描述了资源栈的资源和属性。请您保持默认选项,即选择已有模板

    • 模板录入方式:包含使用url输入模板我的模板共享模板四种方式。请您保持默认选项,即输入模板方式。

    • 模板内容:支持在该区域输入ROS或Terraform两种模板方式。其中,选择ROS模板方式时,在ROS页签下,您可以选择输入JSON、YAML两种类型的模板内容。

      本步骤以可实现简单功能的ROS脚本为例,请您在编辑区域根据需要自行创建JSON类型的ROS模板内容。

      选择模版.png

      运行上述ROS脚本后,可实现的功能如下所示:

      说明

      本示例中的ROS脚本仅供示例,具体请您根据实际需求输入脚本内容。

      • 可创建3个伸缩组且每个伸缩组包含3个ECS实例。

      • 可创建用于监控和运维TiDB集群的跳板机器(即1台ECS实例)。

      • 每个伸缩组可创建1个伸缩规则。

      • 每个伸缩组可创建1个缩容类型的生命周期挂钩,用于TiDB集群缩容时,ECS实例从该集群中移除。

      • 每个伸缩组可创建1个扩容类型的生命周期挂钩,用于TiDB集群扩容时,ECS实例加入到该集群中。

  6. 配置参数阶段,设置资源栈名称ECS配置区域中的实例密码,然后单击创建

    说明

    请您根据控制台提示输入模板相关参数信息。其中,实例密码为弹性伸缩扩容后云服务器ECS的登录密码。

    资源栈创建完成后,在资源栈信息页签下,您可以查看资源栈名称、资源栈ID和状态等基本信息。资源栈信息

步骤二:登录TiDB Dashboard页面并查看TiDB集群

  1. 资源栈列表中,找到已创建好的资源栈,单击资源栈ID。

  2. 在资源栈详情页,单击输出页签。

  3. 找到TiDB Dashboard:参数,单击对应列下的URL。

    TiDB-URL
    • 非首次操作:该URL直接跳转至TiDB Dashboard页面。

    • 首次操作:该URL先跳转至SQL 用户登录页面,您无需输入密码,单击登录,然后跳转至TiDB Dashboard页面。

  4. TiDB Dashboard页面的左侧导航栏,单击集群信息

    实例页签下,您可以查看到集群中三个组件(角色)所包含伸缩组实例的初始化信息。TiDB初始化

步骤三:查看TiDB集群归属的伸缩组

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理

  3. 在顶部菜单栏处,选择地域为华北5(呼和浩特)

  4. 伸缩组管理页面的伸缩组列表中,查看已成功创建的TiDB集群归属的伸缩组。

    TiDB集群归属的3个伸缩组分别以TiKVServer、TiPDServer、TiDBServer开头命名,如下图所示。伸缩组

  5. 找到TiDB集群中任一角色归属的伸缩组,在该伸缩组对应的伸缩组名称/ID列下,单击伸缩组ID。

  6. 单击实例列表页签下的手动创建

    在手动创建的实例列表中,您可以查看已成功创建的伸缩组中的ECS实例信息。

    说明

    您也可以登录ECS管理控制台,在左侧导航栏,选择实例与镜像 > 实例后,选择地域为华北5(呼和浩特),查看已成功创建的伸缩组中的ECS实例信息。

  7. 单击伸缩规则与报警任务页签,在伸缩规则页签下,查看已成功创建的伸缩规则。

  8. 单击生命周期挂钩页签,查看已成功创建的生命周期挂钩。

    伸缩组已成功创建两种类型的生命周期挂钩,分别适用于弹性扩张活动和弹性收缩活动。

    说明

    除上述功能外,您也可以自行编辑JSON类型的ROS脚本来实现创建定时任务和报警任务功能,通过定时任务和报警任务来自动管理TiDB集群。更多信息,请参见启用定时任务查看报警任务

步骤四:对TiDB集群中的角色进行扩缩容操作

本步骤以对TiDB集群中TiDB Servers角色进行扩缩容为例,TiDB集群中其他角色的扩缩容方法与其相同。

  1. 在左侧导航栏中,单击伸缩组管理

  2. 在伸缩组列表中,找到TiDB Server角色归属的伸缩组,单击对应伸缩组名称/ID列下的伸缩组ID。

  3. 单击伸缩规则与报警任务页签。

  4. 伸缩规则页签下,找到已成功创建的伸缩规则,单击对应操作列的修改

    关于如何修改伸缩规则,具体操作,请参见修改伸缩规则。例如:

    • 扩容操作:例如,您需要将伸缩组实例数量由3台增加至4台,在修改伸缩规则页面的执行的操作参数后,选择增加1台

    • 缩容操作:例如,您需要将伸缩组实例数量由4台减少至3台,在修改伸缩规则页面的执行的操作参数后,选择减少1台

  5. 伸缩规则修改完成后,单击确认

  6. 单击伸缩规则对应操作列的执行

  7. 单击伸缩活动页签,查看伸缩活动详情。

    查看伸缩活动结果的具体说明如下:

    • 扩容成功时,在伸缩活动列表下,您可以查看到变化后的总实例数量为4台。扩容

    • 缩容成功时,在伸缩活动列表下,您可以查看到变化后的总实例数量为3台。缩容

    说明

    如果扩缩容失败,请您在伸缩活动详情页查看失败原因并修改相关配置,然后再次执行伸缩规则。

  8. 再次登录并刷新TiDB Dashboard页面,查看TiDB集群的TiDB Server角色中是否新增或者移出ECS实例。

    • 如果伸缩组扩容成功时,您可以同时在TiDB集群的TiDB Servers角色中查看到实例的变化情况,即多增加1台实例且显示在线运行。扩容前后

    • 如果伸缩组缩容成功时,您可以在TiDB集群的TiDB Server角色中查看到实例的变化情况,即减少1台实例且显示无法访问。缩容前后

  • 本页导读 (1)
文档反馈