弹性资源池概述
弹性资源池
弹性资源池为DLI作业运行提供所需的计算资源(CPU和内存)。弹性资源池的单位为CU,1CU包含1CPU和4GB内存。
您可以在弹性资源池中创建多个队列, 队列之间的计算资源支持共享。 通过合理设置队列的计算资源池分配策略,提高计算资源利用率。
弹性资源池产品规格
DLI提供以下规格的计算资源,如表1所示。
约束与限制
- 不支持切换弹性资源池的计费模式。
- 弹性资源池不支持切换区域。
- 按需计费的弹性资源池默认勾选专属资源模式,自创建起按自然小时收费。
- Flink 1.10及其以上版本的作业支持在弹性资源池运行。
- 弹性资源池网段设置后不支持更改。
- 弹性资源池关联队列:
- 仅支持关联按需计费模式的队列(包括专属队列)。
- 队列和弹性资源池状态正常,资源未被冻结。
- 当前仅支持包年包月计费模式的弹性资源池进行规格变更。
- 仅支持查看30天以内的弹性资源池扩缩容历史。
- 弹性资源池不支持访问公网。
如有访问公网诉求请您参考配置DLI 队列与公网网络联通。
- 弹性资源池CU设置、弹性资源池中添加/删除队列、修改弹性资源池中队列的扩缩容策略、系统自动触发弹性资源池扩缩容时都会引起弹性资源池CU的变化,部分情况下系统无法保证按计划扩容/缩容至目标CUs:
- 弹性资源池扩容时,可能会由于物理资源不足导致弹性资源池无法扩容到设定的目标大小。
- 弹性资源池缩容时,系统不保证将队列资源完全缩容到设定的目标大小。
在执行缩容任务时,系统会先检查资源使用情况,判断是否存在缩容空间,如果现有资源无法按照最小缩容步长执行缩容任务,则弹性资源池可能缩容不成功,或缩容一部分规格的情况。
因资源规格不同可能有不同的缩容步长,通常是16CUs、32CUs、48CUs、64CUs等。
示例:弹性资源池规格为192CUs,资源池中的队列执行作业占用了68CUs,计划缩容至64CUs。
执行缩容任务时,系统判断剩余124CUs,按64CUs的缩容步长执行缩容任务,剩余60CUs资源无法继续缩容,因此弹性资源池执行缩容任务后规格为128CUs。
使用场景
场景一:固定资源造成资源浪费和资源不足的场景
在每天的不同时段,作业任务对资源的请求量也会发生变化,如果采用固定资源规格则会导致资源浪费或者资源不足的问题。例如,如下图图1示例可以看出:
- 大约在凌晨4点到7点这个数据段,ETL作业任务结束后没有其他作业,因为资源固定一直占用,导致严重的资源浪费。
- 上午9点到12点以及下午14点16点的两个时段,ETL报表和作业查询的请求量很高,因为当前固定资源不够,导致作业任务排队,任务一直排队。
场景二:资源相互隔离,没有共享,造成资源浪费的场景
弹性资源池通过“分时按需弹性”功能,支持按照不同时间段对资源进行动态的扩缩容,保证资源的利用率和应对资源洪峰等诉求。
弹性资源池对后端资源统一进行管理和调度,多个队列绑定弹性资源池后,资源池内资源共享,资源利用率高,解决了场景二的问题。
弹性资源池架构和优势
弹性资源池后端采用CCE集群的架构,支持异构,对资源进行统一的管理和调度。
弹性资源池的优势主要体现在以下几个方面:
- 统一资源管理
- 统一管理内部多集群和调度作业,规模可以到百万核级别。
- 多AZ部署,支持跨AZ高可用。(暂未实现,后续版本支持)
- 租户资源隔离
不同队列之间资源隔离,减少队列之间的相互影响。
- 分时按需弹性
- 秒级动态扩容,从容应对流量洪峰和资源诉求。
- 支持分时设置队列优先级和配额,提高资源利用率。
- 作业级资源隔离(暂未实现,后续版本支持)
支持独立Spark实例运行SQL作业,减少作业间相互影响。
- 自动弹性(暂未实现,后续版本支持)
基于队列负载和优先级实时自动更新队列配额。
弹性资源池解决方案主要解决了以下问题和挑战。
维度 |
原有队列,无弹性资源池时 |
弹性资源池 |
---|---|---|
扩容时长 |
手工扩容时间长,扩容时长在分钟级别 |
不需要手工干预,秒级动态扩容。 |
资源利用率 |
不同队列之间资源不能共享。 例如:队列1当前还剩余10CU资源,队列2当前负载高需要扩容时,队列2不能使用队列1中的资源,只能单独对队列2进行扩容。 |
添加到同一个弹性资源池的多个队列,CU资源可以共享,达到资源的合理利用。 |
配置跨源时,必须为每个队列分配不重合的网段,占用大量VPC网段。 |
多队列通过弹性资源池统一进行网段划分,减少跨源配置的复杂度。 |
|
资源调配 |
多个队列同时扩容时不能设置优先级,在资源不够时,会导致部分队列扩容申请失败。 |
您可以根据当前业务波峰和波谷时间段,设置各队列在弹性资源池中的优先级,保证资源的合理调配。 |
弹性资源池主要包括如下基本操作: