Hologres计算组型实例支持按时间设置弹性计划,从而根据业务流量峰值,自动完成计算资源伸缩,提升实例稳定性和资源利用率,节约成本。本文为您介绍如何使用分时弹性功能。
适用场景
假设您当前使用计算组实例的场景为:数据中台团队使用init warehouse完成大型ETL、大数据量离线导入、分钟级近实时导入、实时数据导入,业务团队A使用warehouse 1查询数据,业务团队B使用warehouse 2查询数据。则分时弹性功能可能的适用场景如下:
分钟级近实时导入和实时数据导入:仍使用计算组init warehouse执行。如果全天数据量稳定,则无需设置分时弹性。如果每天有一段时间(通常建议16小时内)有明显的写入流量高峰,则建议设置分时弹性计划,在写入流量高峰期弹出额外的弹性资源。
业务团队查询数据:仍分别使用不同的从计算组承载不同业务团队的查询请求,以保障负载隔离。如果业务团队查询请求量稳定,则无需设置分时弹性。如果每天的查询请求量有明显周期性变化,则建议设置分时弹性计划,在查询请求高峰期弹出额外的弹性资源。
大型ETL作业和大数据量离线导入:建议改用Serverless资源执行。Serverless Computing可以提供额外的计算资源,无需预留计算资源,显著提升实例稳定性、减少OOM,且仅需为任务单独付费。Serverless Computing详情请参见Serverless Computing概述,使用方法请参见Serverless Computing使用指南。
使用限制
仅计算组型实例支持分时弹性功能,通用型实例和只读从实例不支持。
Hologres从V2.2.21版本起支持分时弹性功能。
如下地域暂不支持分时弹性:华东 2 金融云、华北 2 阿里政务云1、华南 1 金融云、日本(东京)、马来西亚(吉隆坡)、印度尼西亚(雅加达)。
分时弹性功能现处于公测期,请使用阿里云账号填写表单实时数仓Hologres分时弹性公测申请,申请试用。
注意事项
使用分时弹性功能所需权限:
需要使用阿里云账号,或被授予了AliyunHologresWarehouseFullAccess权限的RAM用户,该权限包含了Hologres管理控制台的只读权限和分时弹性功能的配置权限,授权方式请参见授予RAM用户权限。
需要账号拥有实例内部的Superuser权限,授权方式请参见授予RAM用户实例的开发权限。
Hologres V2.2版本中,使用分时弹性功能对计算组执行定时扩容、缩容操作,计算组的查询和写入会中断约15秒。Hologres V3.0版本起,计算组扩容期间,计算组的查询和写入不受影响,计算组的状态仍会处于处理中。计算组缩容期间,查询和写入仍会中断约15秒。
当对计算组配置了弹性计划后:
不支持停止计算组或删除计算组,不支持缩容计算组资源。
只支持通过Hologres管理控制台操作扩容计算组资源,不支持手动执行
hg_alter_warehouse
命令扩容计算组资源。只支持通过Hologres管理控制台新建计算组,不支持手动执行
hg_create_warehouse
命令新建计算组。
名词解释
实例级别的计算资源
实例预留资源:实例预留的计算资源总量,有包年包月和按量付费两种付费模式。可以分为已分配和未分配资源。
实例已分配资源:实例预留资源中,已经分配给所有计算组的资源总量。
实例未分配资源:实例预留资源中,还没有分配给计算组的资源量。
实例弹性资源:实例下的所有计算组,在预留资源之外,额外弹出的资源总量。
实例总计算资源:实例实际使用的资源总量,为实例预留资源和实例弹性资源总和。
计算组级别的计算资源
计算组预留资源:每个计算组从实例预留资源中分配到的资源量。
计算组弹性资源:每个计算组在预留资源之外,额外弹出的资源量。
计算组总计算资源:计算组实际使用的资源总量,为实例预留资源和实例弹性资源总和。
示例:如图为某实例资源示例,资源详情如下:
类别 | 资源详情 |
实例 | 预留资源96 CU,其中64 CU已分配,32 CU未分配。 |
弹性资源32 CU。 | |
总计算资源96+32=128 CU。 | |
计算组init_warehouse | 预留资源32 CU,弹性资源16 CU,总计算资源48 CU。 |
计算组warehouse_2 | 预留资源32 CU,弹性资源16 CU,总计算资源48 CU。 |
价格说明
实例预留资源:即计算组实例独享计算资源,仍按实例付费模式(包年包月/按量付费)付费。
实例弹性资源:包含分时弹性功能额外弹出的计算资源。计费公式为:
费用 = 实例实际弹出弹性资源量(CU*小时) * 资源单价
,具体资源单价请参见计费概述。每小时结算一次,系统将会推送账单并从账户中自动扣除费用。说明实例弹性资源与实例未分配资源不相关。即使实例预留资源中仍有未分配资源,分时弹性功能仍会额外弹出计算资源,而不会使用实例未分配资源。
使用指南
计算组资源管理
进入计算组管理页面。
登录Hologres管理控制台,在顶部菜单栏左侧,选择相应的地域。
在左侧导航栏选择实例列表,单击目标实例ID进入实例详情页。
在实例详情页的左侧导航栏单击计算组管理。
查看计算组型实例的资源使用情况。
在计算组资源管理页签可查看计算组型实例的资源使用情况,包括实例预留资源(含实例已分配资源和未分配资源)、实例弹性资源。
管理计算组资源。
单击新增计算组,在新增计算组对话框中输入计算组名称和计算组资源,创建新的计算组。
对状态为正在运行的计算组,支持执行调整配置、重启、停止及Rebalance操作。Rebalance详情请参见均衡分片(Rebalance)。
说明不支持对实例的默认计算组init_warehouse执行停止操作。
计算组弹性计划
查看弹性计划时序图
进入计算组管理页面,单击计算组弹性计划页签。
从实例/计算组选择下拉列表中选择实例或某一计算组,可以查看弹性计划时序图。时序图表明未来实例或计算组会按此计划执行扩缩容操作,不表示过去的资源监控指标。
则保存后,计算组A的总计算资源会立即从96 CU缩容至64 CU。
配置计算组弹性计划
在计算组弹性计划页签中单击目标计算组左侧的,然后单击增加时间段,配置每日生效时间段的起始和结束时间,并配置弹性计算资源量,单击操作列的保存即可生效。
支持对已有弹性计划执行编辑、删除操作。
弹性计算资源量不支持超过预留计算资源量。
每个计算组最多支持5个弹性时间段。
删除弹性计划时,即使计算组资源未发生变化,计算组状态也会变为处理中,此时计算组的读写不受影响。
保存计算组的弹性计划时,如果计算组当前时刻设置的弹性资源发生变化,会同步生效,即Hologres会立即对计算组执行变配操作。示例如下:
示例1
假设当前时间为16:00,对计算组A(预留资源64 CU)新增弹性计划:
生效时间段为15:00-18:00、弹性计算资源为32 CU,则保存后,计算组A的总计算资源会立即扩容至96 CU。
示例2
假设当前时间为16:00,修改计算组A(预留资源64 CU)的原有弹性计划:
修改前:生效时间段为15:00-18:00、弹性计算资源为32 CU。
修改后:生效时间段为17:00-18:00、弹性计算资源32 CU。
则保存后,计算组A的总计算资源会立即从96 CU缩容至64 CU。
分时弹性监控
可以通过如下方式监控弹性计划执行情况。
弹性计划执行日志
进入计算组管理页面,单击弹性计划执行日志页签。
选择时间范围,可查看过去的弹性计划执行情况,包括执行时间、计算组、执行状态、事件类型、预留计算资源和目标弹性计算资源。
监控指标
您可以在Hologres管控台的监控指标中,查看Warehouse_timed_elastic_cores(Count)
(即实例分时弹性弹出Core数)指标,如有需要,可为其配置相应告警规则,详情请参见Hologres管控台的监控指标。
操作审计
Hologres管理控制台上执行的编辑弹性计划等操作,以及弹性计划实际执行扩缩容操作,均会记录到操作审计中。详情请参见查询事件日志。