计算资源-Quota管理

Quota管理是为您在MaxCompute管理控制台提供计算资源消耗查看、调整、增删改查等涉及日常资源管理运维的功能模块。本文为您介绍Quota管理提供的各种能力。

背景信息

MaxCompute Quota作为计算资源的单元,为MaxCompute SQL、MapReduce、Spark、Mars、PAI等计算作业提供所需计算资源(CPU及内存)。MaxCompute Quota分为一级和二级Quota,一级Quota之间相互独立;二级Quota从属于一级Quota,二级Quota之间资源支持共享。一级Quota作为二级的统管Quota不可直接被使用,需要通过使用二级Quota来使用对应的CU资源。

MaxCompute计算资源单位为CU(即Quota内的对象)。您可购买的Quota包含的CU分为包年包月和按量付费两种模式,分别对应包年包月规格类型和按量付费规格类型,更多规格信息,请参见规格概述

  • 包年包月Quota是通过按月购买预留CU后系统创建分配的独占Quota,使用时可按需在包月CU基础上按时预购弹性预留CU(按购买量和时长后付费)。作业在包年包月Quota内运行时最大只能使用该Quota CU购买量,可以在一级Quota内自定义二级Quota进行CU分配。

  • 按量付费Quota是在通过开通按量付费服务时,系统分配可使用的公共二级Quota,不可自行控制CU量以及进行二次分配。

您可以选择使用按量付费Quota,也可以选择包年包月Quota,包年包月Quota支持通过控制CU量来控制预算,而按量付费Quota不可自行控制CU量。

查看Quota

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. Quota管理页面,查看可使用的Quota列表。

    列表为树状方式显示一、二级包年包月Quota,以及默认按量付费Quota。默认主账号及其子账号都可查看此列表。

    • 包年包月Quota:单击一级Quota左侧的列表图标可以展开二级Quota列表,同时展示二级Quota当前生效的配置信息。购买包年包月资源后,系统默认创建分配一级Quota以及名称为默认预付费Quota的二级Quota。

    • 按量付费Quota:单击一级Quota左侧的列表.png图标可以展开二级Quota列表。开通按量付费标准版后,系统默认创建分配一级Quota默认后付费Quota_p以及二级Quota默认后付费Quota

      说明

      部分按量付费标准版的默认二级Quota名称为aliyun_nick。海外地域可能出现按量付费标准版的默认一级Quota名称无法正确展示的情况,但不影响对二级Quota的使用。

配置Quota

可以对已经购买的包年包月Quota进行二次拆分定义,默认阿里云账号具有权限,RAM账号可以通过授权获得配置权限,详情请参见RAM权限。配置Quota主要由以下两部分组成。

  • 基础配置:即二级Quota的新增或删除,基础参数的配置(包括是否独占、单作业CU上限、开启优先级、非预留CU、调度策略),预留CU和弹性预留CU配置(仅作用于当前生效的配置方案)。若没有分时伸缩场景需求,通过此配置即可满足Quota的管理。

    说明

    每个一级Quota下最多支持100个二级Quota,请根据业务场景合理规划和配置。

  • 伸缩配置:分时伸缩配置,实现对Quota在不同时段设置不同的Min/Max 预留CU量或弹性预留CU。

详细操作如下:

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. Quota管理页面,单击需要配置的一级Quota操作列的Quota配置

  4. Quota基础配置。

    1. Quota配置页面的基础配置页签,单击编辑基础配置,新增二级Quota并配置基础参数(包括是否独占、单作业CU上限、开启优先级、非预留CU、调度策略)。

      您也可以在基础配置页签,通过单击目标Quota操作列的删除,删除二级Quota。

      说明

      删除二级Quota后,此二级Quota将在所有的Quota资源配置方案里被删除,对应的minCU量和弹性预留CU量将加到默认二级Quota中,如需要调整请编辑更新伸缩配置页签中的各个配置方案。

    2. 单击编辑基础配置,对二级Quota的参数进行如下配置:

      参数

      说明

      Quota名称

      新增二级Quota。

      单击新增二级Quota后,填写Quota名称,并选择类型Quota名称请自定义输入,需以字母开头,包含字母、数字和下划线。

      类型

      类型包含如下两种类型,请根据实际情况进行选择。

      • 批处理:用来跑批作业的Quota。

      • 交互式:专用于跑查询加速(MCQA)作业的Quota,无需配置为项目的默认计算Quota,当Project默认计算Quota为包年包月的批处理Quota时,一旦发起的作业命中查询加速,会自动调度到交互式Quota里执行。如果有多个交互式Quota,MCQA作业默认调度到最早创建的交互式Quota里执行,因此需要结合Quota规则,可以实现不同Project发起的MCQA作业调度到不同的交互式Quota里执行,Quota规则详情请参见Quota规则

      预留CU量[minCU,maxCU]

      包月预留CU量。一级Quota的预留CU量即为购买的包月CU量(minCU=maxCU),需要扩、缩容只能通过升级、降配方式实现,在此不可编辑。二级Quota的minCU和maxCU定义如下:

      • minCU为保障值,maxCU为上限,当maxCU>minCU时,二级Quota之间为共享模式,如CU请求量大于min值,其他Quota空闲且非独占的情况下会被抢占。

      • minCU总和等于一级Quota的minCU量。

      • minCU小于等于max CU小于等于一级Quota购买的minCU量。

        说明

        minCU暂时不可配置为0。

      • 默认二级Quota的minCU和maxCU不可编辑,minCU量为一级minCU量减去自定义二级Quota的minCU量的总和,maxCU值与一级Quota的maxCU量相等。

      • 对于新增的Quota,若存在多个伸缩配置方案,新增成功后,该Quota将加入到所有配置方案中,除当前生效的配置方案外,其他方案中默认预留minCU都为1(从二级默认预付费Quota里扣减),因此若需要调整CU量,请在伸缩配置页签对各个配置方案进行编辑更新。

        重要

        对于新增Quota,此配置仅作用于当前生效的配置方案。

      预留弹性CU

      按时预购的预留弹性CU量。关于弹性预留CU的计费详情,请参见计算费用(按时计费)

      • 一级Quota的预留弹性CU量即为需要预购的CU量,默认为0,最大能设置的量为对应Quota所购买的包年包月预留CU量,且不超过10000 CU;同时受库存限制,即配置扩容时会进行库存校验。配置的扩容量至少为50 CU,或以50的倍数增加。

      • 二级quota的预留弹性CU量定义如下:

        • 预留弹性CU总和为一级Quota的预留弹性CU量。

        • 默认二级Quota的预留弹性CU不可编辑,预留弹性CU量为一级Quota预留弹性CU量减去自定义二级Quota的预留弹性CU量。

      • 对于新增的Quota,若有多个伸缩配置方案,新增成功后,该Quota将加入到所有配置方案中,除当前生效的配置方案外,其他方案中默认弹性预留CU都为0,因此若需要调整CU量,请在伸缩配置页签对各个配置方案进行编辑更新。

        重要

        对于新增Quota,此配置仅作用于当前生效的配置方案。

      是否独占

      是否强独占Quota,即Quota的CU即使空闲也不被其他配额组占用。仅二级Quota可配置,当二级Quota类型为交互式时,此参数默认为独占且不可修改。

      适用于跑BI或ALGO等业务的配额组因随时都可能使用,需防止被其他Quota占用长时间不释放(当Quota的max值>min值时有可能会去占用其他空闲的Quota)。

      单作业CU上限

      对在此Quota内执行的作业设置CU并发上限,为空表示不限制,为0表示绝对限制,可输入正整数进行合理设置。当二级Quota类型为交互式时,此参数默认不可用。

      适用于防止单作业长时间占用大量CU导致其他作业等待资源。同时支持作业级别进行限制,在执行的代码前使用set odps.task.max.concurrent.cu=<CU量>; 命令进行设置,作业级别的配置优先级高于Quota级别的配置。

      开启优先级

      优先级功能,详情请参见作业优先级。在此Quota上执行的作业将优先执行,或者Project级别开启也同样生效。当二级Quota类型为交互式时,此参数默认不可用。

      非预留CU

      包月非预留CU量。

      • 一级Quota的非预留CU量即为购买包月非预留CU量,需要扩、缩容只能通过升级、降配方式实现(当前库存紧张无法扩容),在此不可编辑。

      • 二级Quota的非预留CU定义如下。

        • 二级Quota的非预留CU总和为一级Quota的非预留CU量。

        • 默认二级Quota的非预留CU不可编辑,非预留CU量为一级Quota的非预留CU量减去自定义二级Quota的非预留CU量。

      调度策略

      MaxCompute二级Quota调度策略包含FAIR、FIFO。

      • FAIR(公平调度)

        • 对于作业优先级相同的场景,资源将平均分配至同一时间提交的所有作业。

        • 对于作业优先级不同的场景,资源优先平均分配给优先级较高的作业,若有剩余,再平均分配给优先级较低的作业。

      • FIFO(先进先出)

        • 对于作业优先级相同的场景,资源将优先分配至先提交的作业。

        • 对于作业优先级不同的场景,即使优先级高的作业提交时间晚于优先级低的作业,资源也将优先分配至高优先级作业。

      您需要根据业务情况选择合适的调度策略(暂不支持类型为交互式的二级Quota设置调度策略),更多介绍请参见计算资源-Quota调度策略说明

      重要

      自2023年5月24日起,华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)地域新建的二级Quota调度策略默认值为FIFO。以上地域在此时间之前创建的二级Quota调度策略默认值为FAIR。详情请参见公告

    3. 单击确定

  5. Quota伸缩配置。

    购买包年包月MaxCompute项目后,每个一级Quota都会有一个名称为Default的默认资源配置方案。每个资源配置方案包含一级Quota及其下所有二级Quota的预留CU和弹性预留CU配置,多个配置方案结合分时管理,常用于一天内不同时段有不同配置的场景,例如,在每天00:00~08:00和08:00~24:00两个时段,二级Quota的CU量需求不同,则可以配置两个Quota配置方案,通过分时管理进行调度。

    说明

    支持添加多个资源配置方案,最多为48个,每个方案配置不同,以便每日不同时段启用相应的方案。

    1. Quota配置页面的伸缩配置页签,单击新增配置方案

    2. 新增配置方案页面,配置Quota的如下参数。

      参数

      说明

      预留CU量[minCU,maxCU]

      包月预留CU量。一级Quota的预留CU量即为购买的包月CU量(minCU=maxCU),需要扩、缩容只能通过升级、降配方式实现,在此不可编辑。二级Quota的minCU和maxCU定义如下:

      • minCU为保障值,maxCU为上限,当maxCU>minCU时,二级Quota之间为共享模式,如CU请求量大于min值,其他Quota空闲且非独占的情况下会被抢占。

      • minCU总和等于一级Quota的minCU量。

      • minCU小于等于max CU小于等于一级Quota购买的minCU量。

        说明

        minCU暂时不可配置为0。

      • 默认二级Quota的minCU和maxCU不可编辑,minCU量为一级minCU量减去自定义二级Quota的minCU量的总和,maxCU值与一级Quota的maxCU量相等。

      预留弹性CU

      按时预购的预留弹性CU量。

      • 一级Quota的预留弹性CU量即为需要预购的CU量,默认为0,最大能设置的量为对应Quota所购买的包年包月预留CU量,且不超过10000 CU;同时受库存限制,即配置扩容时会进行库存校验。配置的扩容量至少为50 CU,或以50的倍数增加。

      • 二级quota的预留弹性CU量定义如下:

        • 预留弹性CU总和为一级Quota的预留弹性CU量。

        • 默认二级Quota的预留弹性CU不可编辑,预留弹性CU量为一级Quota预留弹性CU量减去自定义二级Quota的预留弹性CU量。

    3. 单击确定,完成新增配置方案。

    4. 伸缩配置页签,单击新增配置方案操作列的立即生效,可使新增的方案立即生效。您也可以后续的分时管理中配置使用新方案。

    5. (可选)资源配置方案的其他相关操作如下:

      • 查看配置方案:单击配置方案名称左侧的image图标,展开方案详情,查看各方案的具体信息。

      • 编辑配置方案:单击目标配置方案操作列的编辑,对该方案进行更新,若该方案为当前生效方案,则编辑成功后,还需要单击操作列的立即生效才能启用最新的配置。

        说明

        任意配置方案均可操作立即生效,但需注意若已设置分时管理调度,则会被下一个分时覆盖。因此如果想固定手动生效某个方案,需要清除其他所有分时设置,只保留该手动生效的方案,以确保当前操作能够立即生效而不被覆盖。

      • 删除配置方案:在Quota伸缩配置页签,单击目标配置方案操作列的删除,即可删除配置方案。

        说明

        Default方案和当前生效的方案不可删除。

      • 克隆配置方案:在Quota伸缩配置页签,单击目标配置方案操作列的image > 克隆(Default方案可直接单击克隆),即可克隆出一个新方案。

    6. 分时管理。

      您可设置每日不同时间点启用不同的Quota配置方案,以此实现对Quota配置的分时管理。

      说明

      分时调度会有一定的延迟,预计延迟时间为5分钟以内。

      1. Quota配置页面的伸缩配置页签,单击分时管理区域的编辑时间计划

      2. 单击新增生效时间段,选择生效开始时间配置方案计划

        • 时间计划整体只有一份,默认运行时间为00:00(不可修改和删除),对应启用配置方案是Default(可修改)。如果没有增加运行时间,则代表全天都是启用同一个配置方案。

        • 支持整点和半点启用不同的配置方案,一个配置方案可以被重复启用。

    7. 分时伸缩预览,选择某个二级Quota以查看各个时段的CU分配趋势图。

    8. 伸缩配置全局视图:以全局视图表格方式展示所有配置方案明细,查看所有Quota的Min/Max 预留CU量和弹性预留CU在各个分时时段的配置。

查看Quota消耗

可以查看一级Quota内CU资源的消耗情况。

说明

默认主账号及其子账号都可查看。

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. Quota管理页面,单击目标一级Quota操作列的资源消耗

  4. 资源消耗页面,可查看CPU资源消耗趋势图和Quota以及关联的Project列表。

    • CPU资源消耗趋势图:支持选择不同二级Quota和时间段查看各类CU使用量趋势。单击某个时间点,可以进入该时刻对应的作业快照列表。

    • Quota以及关联的Project列表:可查看对应二级Quota都被哪些Project定义为默认计算Quota。

Quota规则

MaxCompute支持对Quota配置规则条件,指定满足某些条件的作业可以被调度到对应的Quota里执行。Quota规则详情请参见Quota规则

Quota标签管理

MaxCompute支持您为一级包年包月Quota绑定或解绑标签,标签的详细用法及使用限制请参见什么是标签

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏,选择工作区 > 配额(Quota)管理

  3. 创建标签。

    • 创建单个一级Quota的标签。

      1. 将鼠标悬浮于目标一级Quota标签列的编辑图标上,单击绑定/编辑

      2. 编辑标签对话框中,输入标签键标签值

      3. 单击确定,并在标签编辑成功对话框中单击关闭

    • 批量创建多个一级Quota的标签。

      1. 选中要批量添加标签的一级Quota,单击页面底部的批量打标

      2. 编辑标签对话框中,输入标签键标签值

      3. 单击确定,并在标签编辑成功对话框中单击关闭

  4. 标签筛选。

    一级Quota绑定标签后,您可以单击标签筛选,根据标签的键和值筛选Quota。

  5. (可选)解绑标签。

    • 解绑单个一级Quota的标签。

      1. 将鼠标悬浮于目标一级Quota标签列的编辑图标上,单击编辑

      2. 编辑标签对话框中,单击要解绑标签后的删除图标。

      3. 单击确定,并在标签编辑成功对话框中单击关闭

    • 批量解绑多个一级Quota的标签。

      1. 选中要批量解绑标签的一级Quota,单击页面底部的批量删除标签

      2. 批量解绑标签对话框中,勾选需要解绑的标签。

      3. 单击解绑x个标签(x为具体的解绑标签数),并在标签编辑成功对话框中单击关闭