新建、修改、删除资源组

更新时间:

云原生数据仓库 AnalyticDB MySQL 版资源组可以实现离线批处理与交互式查询的计算资源隔离,支持资源的定时或自动弹性,允许控制查询的优先级等。本文介绍如何新建资源组,以及资源组的管理操作。

前提条件

集群的产品系列为企业版、基础版或湖仓版

计费说明

Interactive型资源组和Job型资源组使用的弹性资源,会产生ACU弹性资源费用。

集群管理>资源管理>资源总览页面,可以查看所有资源组使用的总资源预留资源总资源预留资源的差值为弹性资源用量。

新建资源组

每个集群都有一个默认资源组user_default。在没有其他资源组的情况下,所有查询都由默认资源组执行。如果有查询的资源隔离需求,您需要新建资源组。

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版、基础版或湖仓版页签下,单击目标集群ID。

  2. 在左侧导航栏,单击集群管理>资源管理,单击资源组管理页签。然后在资源组列表的右上角,单击新增资源组

  3. 为资源组命名,并选择任务类型

    • 高QPS低RT的在线场景,请选择Interactive

      Interactive型资源组使用常驻的计算资源,以MPP方式执行查询,响应时间较快,通常在毫秒级。

    • 高吞吐离线场景,请选择Job。

      Job型资源组会拉起临时计算资源,并以BSP方式执行查询,响应时间较慢,通常在秒级或分钟级。拉起的临时计算资源量在0 ACU和Job型资源组最大资源之间,具体资源量大小取决于所运行的任务大小。

    重要

    资源组创建成功后,不能修改任务类型。

  4. 选择的任务类型不同,需要设置的属性也不同设置属性后,单击确定

    Interactive型资源组属性

    参数名称

    说明

    引擎

    • XIHE引擎:该资源组仅支持执行XIHE SQL。

    • Spark引擎:该资源组仅支持执行Spark SQL作业,且Spark SQL作业会以交互式方式进行处理。

    重要

    资源组创建成功后,不能修改引擎。

    自动停止

    当Interactive型资源组的闲置状态到达指定时长后,即执行完最后一条命令并闲置几分钟后,资源组已启用的Cluster将自动释放。

    开启自动停止,可减少资源浪费,节省资源成本。但再次执行查询时,需要重新拉起资源,会有一定延迟。

    重要

    引擎选择为Spark时支持该参数。

    Cluster大小

    单个Cluster的大小,即ACU数,可任意填写,最小为16 ACU。

    最小Cluster个数

    最大Cluster个数

    最小Cluster个数:资源组内至少需要运行的Cluster个数,最小为1。

    最大Cluster个数:Cluster个数可以扩容到的最大值,最大为10。

    最小Cluster个数最大Cluster个数不同时,AnalyticDB for MySQL会根据资源组的查询负载在最小Cluster个数和最大Cluster个数之间动态地扩缩容Cluster个数。

    最小Cluster个数最大Cluster个数相同时,AnalyticDB for MySQL在资源组创建成功后就会启动指定的Cluster个数,有效地静态控制资源组的计算资源总量。

    说明

    最小Cluster个数最大Cluster个数大于等于2时,则表示该资源组开启Multi-Cluster功能。Multi-Cluster功能详情,请参见Multi-Cluster弹性模型

    作业投递规则

    将超过查询执行时间阈值的查询投递到目标资源组执行。详情请参见作业投递

    重要

    引擎选择为XIHE时支持该参数。

    Spark 配置

    Spark应用配置参数,应用于该资源组执行的所有Spark作业。如需为某个Spark作业单独配置参数,可以在提交作业时通过代码设置。

    Spark配置参数详情,请参见Spark应用配置参数说明

    重要

    引擎选择为Spark时支持该参数。

    Job型资源组属性

    参数名称

    说明

    计算最小资源

    最小取值为0 ACU。

    重要

    资源组创建成功后,不支持修改计算最小资源。

    计算最大资源

    控制台可设置的计算最大资源为1024 ACU,步长为8 ACU。若您有需求,可提交工单联系技术支持调大资源。

    竞价实例

    是否开启竞价实例。

    开启竞价实例后,运行在Job型资源组上的Spark作业会尝试使用竞价实例资源。更多信息,请参见竞价实例

    Spark 配置

    Spark应用配置参数,应用于该资源组执行的所有Spark作业。如需为某个Spark作业单独配置参数,可以在提交作业时通过代码设置。

    Spark配置参数详情,请参见Spark应用配置参数说明

修改资源组

哪些属性支持修改

  • 自定义资源组(即自己新建的资源组)支持修改以下属性:

    • Interactive型资源组的自动停止Cluster大小最小Cluster个数最大Cluster个数作业投递规则Spark配置

    • Job型资源组的计算最大资源竞价实例Spark配置

    其他属性,包括资源组名称任务类型、Interactive型资源组的引擎、Job型资源组的计算最小资源,均不支持修改

  • 默认资源组(即名称为user_default的资源组):

    • 湖仓版的默认资源组,支持修改计算预留资源作业投递规则

    • 企业版基础版的默认资源组,不支持任何修改。

操作步骤

  1. 资源组管理页面,单击目标资源组操作列中的修改

  2. 在弹出的修改资源组面板中,修改属性值。然后单击确定

    当资源组状态变为“运行中”时,修改生效。

删除资源组

自定义资源组(即自己新建的资源组)可以删除。默认资源组(user_default资源组)不支持删除。

删除资源组的影响

  • 如果有正在运行的任务,删除资源组将导致资源组中运行的任务中断。

  • 如果在XIHE SQL脚本或Spark作业中指定了某资源组,请在删除该资源组后修改XIHE SQL脚本或Spark作业中指定的资源组,否则XIHE SQL作业将由默认资源组执行,Spark作业将报错。

操作步骤

资源组管理页面,单击目标资源组操作列中的删除。在弹窗中单击确定,即可删除资源组

监控资源用量

您可以查看集群级别的资源用量资源组级别的资源和负载,以及作业级别的资源消耗

查询集群的预留和弹性资源

集群管理>资源管理>资源总览页面,查看集群所有资源组在某个时间点的总资源预留资源总资源预留资源差值为弹性资源用量

查询单个资源组的资源和负载

您可以查看单个资源组实际占用的计算资源。您也可以根据以下指标了解资源组的负载情况:运行中和排队中的XIHE SQL数量、Spark引擎个数和连接数。

集群管理>资源管理>资源组管理页面,找到目标资源组,单击监控,查看单个资源组实际使用的计算资源。

查询单个作业消耗的资源

作业使用统计提供了以下作业的资源消耗统计:XIHE BSP作业、Spark作业、AnalyticDB for MySQL控制台的SLS/Kafka数据同步和数据迁移任务。

您可以在集群管理>资源管理>作业使用统计页面,查看作业消耗的总资源、预留资源、弹性资源、竞价实例资源。

绑定或解绑数据库账号

如果您希望不同数据库账号发起的查询能够实现资源隔离,您可以将数据库账号绑定到资源组。数据库账号绑定资源组后,如果该账号发起的SQL查询没有显式指定资源组,则会根据绑定关系路由至对应的资源组执行。

绑定规则

  • 一个账号只能绑定一个资源组。一个资源组可以被多个账号绑定。

  • 一个账号没有与任何自定义资源组绑定的时候,该账号与默认资源组绑定。

  • 默认资源组user_default不支持绑定用户。

  • 删除资源组或数据库账号时,会同时解绑数据库账号与资源组的绑定关系。

使用方法

通过控制台绑定或解绑数据库账号

  1. 集群管理>资源管理>资源组管理页面,找到指定资源组,然后在操作列中单击绑定用户

  2. 用户名下拉列表中选择数据库账号,单击绑定用户,并在弹出的确认绑定用户对话框中单击确定

    单次只能绑定一个数据库账号。如需绑定多个账号,请重复步骤2。

    如果下拉列表为空,说明您还没有创建数据库账号,请先创建账号,具体步骤请参见创建数据库账号

  3. 如果需要解绑数据库账号,在绑定用户列表中,找到目标用户,单击解除绑定,然后在弹出的对话框中单击确定

通过OpenAPI绑定或解绑数据库账号

启动或停止ThriftServer(不推荐)

重要

推荐您将Spark SQL作业投递到Spark引擎类型的Interactive型资源组,实现Spark SQL的交互式查询。创建Spark类型的Interactive型资源组,请参见新建资源组。投递Spark SQL作业到Interactive型资源组,请参见如何使用指定资源组的资源执行查询

AnalyticDB for MySQL企业版、基础版或湖仓版Job型资源组默认使用批处理方式执行Spark SQL。如果您想要使用Job型资源组执行交互式查询,则需要启动ThriftServer。启动ThriftServer后,同一资源组内可以并发执行多个交互式查询,提升查询效率。

启动ThriftServer

重要
  • 每个Job型资源组只能启动一个ThriftServer。

  • 已启动ThriftServer的Job型资源组,在执行Spark SQL作业时,都会采用交互式执行。

  1. 集群管理>资源管理>资源组管理页面,找到目标Job型资源组,然后在操作列中单击ThriftServer配置

  2. ThriftServer配置页面,填写参数配置。然后单击启动

    参数名称

    是否必填

    说明

    对应的配置参数

    Min Executor个数

    Spark弹性配置下的最小Executor数量,默认值为0,表示不执行Spark SQL时会释放所有的Executor。一个Executor的资源量为2 ACU。

    spark.dynamicAllocation.minExecutors

    Max Executor个数

    Spark弹性配置下最大的Executor数量,表示执行Spark SQL时最大拉起的Executor数量,至少配置为1。一个Executor的资源量为2 ACU。

    请勿超过该Job型资源组的计算最大资源,否则可能报错。例如某Job型资源组的计算最大资源为16 ACU,那么可配置的最大Executor数量为8。

    spark.dynamicAllocation.maxExecutors

    JARS

    执行环境需要第三方JAR包的OSS路径。

    如果执行SQL时,需要依赖JAR包,请先将JAR包上传至OSS的存储空间。如何上传文件,请参见控制台上传文件

    spark.jars

    最大连接数

    Spark维护的最大的Session数量,每个Session对应一个独立线程,配置过大可能引起OOM错误。

    spark.sql.retainedSessions

    其他配置

    其他Spark配置。详情请参见Spark应用配置参数说明Spark配置

停止ThriftServer

当您不需要执行交互式查询时,可以停止ThriftServer,释放ThriftServer占用的资源。停止后,Job型资源组会使用批处理方式执行Spark SQL。

重要

停止ThriftServer会中断当前所有执行中的SQL和排队中的SQL。请确保暂无执行中和排队中的SQL,或这些SQL中断对业务无影响后,再停止ThriftServer。

  1. 集群管理>资源管理>资源组管理页面,找到目标Job型资源组,然后在操作列中单击ThriftServer配置

  2. ThriftServer配置页面,单击停止

常见问题

集群的预留资源为32 ACU。新建的Job型资源组和默认资源组同时消耗32 ACU的预留资源吗?

如果您的集群为企业版基础版,预留资源只能全部分配给默认资源组。即只有默认的Interactive型资源组能够消耗预留资源。新建的Job型资源组或Interactive型资源组,只能消耗弹性资源。

如果您的集群为湖仓版,预留资源可以分配给默认资源组,也可以分配给新建的Job型资源组或Interactive型资源组。默认资源组的计算最小/最大资源,即为分配给默认资源组的预留资源。集群计算预留资源与默认资源组计算最小/最大资源的差值,即为可以分配给新建的Job型资源组或Interactive型资源组的资源。

相关文档

  • 了解资源组的作用、指定执行查询的资源组,请参见资源组介绍

  • 如何使用OpenAPI新建、修改、删除资源组,为资源组绑定或解绑数据库账号,请参见资源组管理