云原生数据仓库 AnalyticDB MySQL 版资源组可以实现离线批处理与交互式查询的计算资源隔离,支持资源的定时或自动弹性,允许控制查询的优先级等。本文介绍如何新建资源组,以及资源组的管理操作。
前提条件
集群的产品系列为湖仓版。
计费说明
Interactive型资源组和Job型资源组使用的弹性资源,会产生ACU弹性资源费用。
在集群管理>资源管理>资源总览页面,可以查看所有资源组使用的总计算资源和计算预留资源。总计算资源和计算预留资源的差值为弹性资源用量。
新建资源组
每个集群默认都有一个Interactive型资源组和一个Job型资源组,分别命名为:user_default和Serverless。在没有其他资源组的情况下,所有查询和Spark作业都由这两个默认的资源组执行。如果有查询的资源隔离需求,您需要新建资源组。
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在湖仓版页签下,单击目标集群ID。
在左侧导航栏,单击集群管理>资源管理,单击资源组管理页签。然后在资源组列表的右上角,单击新增资源组。
为资源组命名,并选择任务类型。
高QPS低RT的在线场景,请选择Interactive。
Interactive型资源组使用常驻的计算资源,以MPP方式执行查询,响应时间较快,通常在毫秒级。
高吞吐离线场景,请选择Job。
Job型资源组会拉起临时计算资源,并以BSP方式执行查询,响应时间较慢,通常在秒级或分钟级。拉起的临时计算资源量在0 ACU和Job型资源组最大资源之间,具体资源量大小取决于所运行的任务大小。
重要资源组创建成功后,不能修改任务类型。
选择的任务类型不同,需要设置的属性也不同。设置属性后,单击确定。
Interactive型资源组属性
参数名称
说明
引擎
XIHE引擎:该资源组仅支持执行XIHE SQL。
Spark引擎:该资源组仅支持执行Spark SQL作业,且Spark SQL作业会以交互式方式进行处理。
重要资源组创建成功后,不能修改引擎。
自动停止
当Interactive型资源组的闲置状态到达指定时长后,即执行完最后一条命令并闲置几分钟后,资源组已启用的Cluster将自动释放。
开启自动停止,可减少资源浪费,节省资源成本。但再次执行查询时,需要重新拉起资源,会有一定延迟。
重要仅引擎选择为Spark时支持该参数。
Cluster大小
引擎为XIHE时:单个Cluster的大小,即ACU数,可任意填写,最小为16 ACU。
引擎为Spark时:单个Cluster的大小即分配给一个Spark应用的ACU数。最小为24 ACU。每个Spark Interactive型资源组中可以运行多个Spark应用,其中最小Cluster个数和最大Cluster个数表示资源组中可运行的Spark应用数量。
Cluster大小与Spark Driver、Spark Executor规格映射关系,请参见附录:Cluster大小与Spark Driver和Spark Executor规格映射关系。
最小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的资源组):支持修改计算预留资源和作业投递规则。
操作步骤
在资源组管理页面,单击目标资源组操作列中的修改。
在弹出的修改资源组面板中,修改属性值。然后单击确定。
当资源组状态变为“运行中”时,修改生效。
删除资源组
自定义资源组(即自己新建的资源组)可以删除。默认资源组(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不支持绑定用户。
删除资源组或数据库账号时,会同时解绑数据库账号与资源组的绑定关系。
使用方法
通过控制台绑定或解绑数据库账号
在集群管理>资源管理>资源组管理页面,找到指定资源组,然后在操作列中单击绑定用户。
在用户名下拉列表中选择数据库账号,单击绑定用户,并在弹出的确认绑定用户对话框中单击确定。
单次只能绑定一个数据库账号。如需绑定多个账号,请重复步骤2。
如果下拉列表为空,说明您还没有创建数据库账号,请先创建账号,具体步骤请参见创建数据库账号。
如果需要解绑数据库账号,在绑定用户列表中,找到目标用户,单击解除绑定,然后在弹出的对话框中单击确定。
通过OpenAPI绑定或解绑数据库账号
常见问题
集群的预留资源为32 ACU。新建的Job型资源组和默认资源组同时消耗32 ACU的预留资源吗?
如果您的集群为企业版或基础版,预留资源只能全部分配给默认资源组。即只有默认的Interactive型资源组能够消耗预留资源。新建的Job型资源组或Interactive型资源组,只能消耗弹性资源。
如果您的集群为湖仓版,预留资源可以分配给默认资源组,也可以分配给新建的Job型资源组或Interactive型资源组。默认资源组的计算最小/最大资源,即为分配给默认资源组的预留资源。集群计算预留资源与默认资源组计算最小/最大资源的差值,即为可以分配给新建的Job型资源组或Interactive型资源组的资源。