云服务器内容精选

  • 内存管理 内存资源,即资源池所占用的内存百分比。 内存管理的目的:防止数据库系统占用内存过高导致内存溢出(OOM)和实现资源池之间的内存隔离和限制。为满足这两个目的,资源管理从以下两方面进行内存管理: 全局内存管理 为防止数据库系统使用内存过大导致OOM,设置数据库系统全局内存上限(max_process_memory),对数据库全局内存进行管理。全局内存管理包含运行前管理和运行中管理,运行中管理防止实际使用内存超限,运行前管理防止查询执行过程中报错,具体如下: 运行前管理: 一方面慢车道运行的所有查询估算内存都会进行统计,另一方面数据库系统实际使用内存会进行反馈,当实际使用内存大于统计内存时,对统计内存进行调整。查询运行前,判断全局剩余内存能否满足查询运行,满足情况下查询可以直接运行,否则查询需要排队,等待其他查询释放资源后运行。 运行中管理: 查询执行过程中实际使用的内存也会进行统计,查询在申请内存时判断内存使用是否超限,内存超限查询报错,已用内存释放。 资源池内存管理 资源池内存管理属于专属限额的管理方式,即资源池分配多少内存就只能使用多少内存,空闲出来的内存其他资源池不能使用。 资源池内存分配采用百分比方式,取值范围0~100。0表示资源池不进行内存管理,100表示资源池进行内存管理且可使用全局所有内存。 所有资源池分配的内存百分比之和不能超过100。资源池内存管理仅管控慢车道查询,且只包含运行前管理,处理逻辑与全局内存运行前管理类似。资源池慢车道查询运行前,进行估算内存统计,当统计内存大于资源池内存时,查询需要排队,等待资源池内其他查询运行结束释放资源后才能运行。
  • 异常规则 异常规则用于异常查询的识别和快速处理,防止“低质量SQL”长时间占用大量资源,导致其他查询阻塞或性能下降。 在资源池页面“关联异常规则”一栏,可浏览当前资源池中已绑定的异常规则,绑定新异常规则,解绑已有异常规则。目前支持的异常处理规则如表1所示。 8.2.1及以上集群版本支持降级异常规则,所有异常规则都支持降级行为,降级后仅网络资源抢占降至低优先级,即在正常查询无网络请求时,才会调度降级查询的网络请求。 关联、解绑异常规则仅8.2.0及以上集群版本支持。 表1 异常规则参数 参数项 描述 取值范围(0表示不约束) 操作 阻塞时间 作业的阻塞时间,包括全局并发排队以及局部并发排队的总时间,单位秒。 例如,如果配置“阻塞时间”为300秒,那么当该资源池中的用户执行的某个作业在阻塞300秒后将被终止。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 执行所消耗时间 已经执行的作业从开始执行到当前所消耗的时间,单位为秒。 例如,如果配置“执行所消耗时间”为100秒,那么当该资源池中的用户执行的某个作业在执行超过100秒后将被终止。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 所有DN上CPU总时间 作业在所有DN上执行时所耗费的CPU总时间,单位为秒。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 检查倾斜率的时间间隔 检查作业执行的CPU倾斜率的间隔时间,单位为秒,需同“所有DN上CPU时间的倾斜率”一起设置。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 所有DN上CPU总时间倾斜率 作业在DN上执行时的CPU时间的倾斜率,依赖于“检查倾斜率的时间间隔”的设置。 1~100的整数。0表示不约束。 终止、降级或不约束 单DN算子下盘大小 作业在单个DN上最大下盘的数据量,单位MB。 说明: 该异常规则仅8.2.0及以上集群版本支持。 1~2147483647的整数。0表示不约束。 终止、降级或不约束 DN平均消耗CPU占比 作业在所有DN上执行时的平均CPU使用率,检测周期不强依赖“检查倾斜率的时间间隔”,若配置将使用该检查间隔,否则系统默认30秒间隔。 说明: 该异常规则仅8.2.0及以上集群版本支持。 1~100的整数。0表示不约束 终止、降级或不约束 单个DN上最大带宽 作业在单个DN上最大可占用的网络带宽,单位MB。 说明: 该异常规则仅8.2.1及以上集群版本支持。 1~2147483647的整数。0表示不约束。 终止、降级或不约束
  • 并发管理 并发,即资源池中的最大查询并发数。并发管理作为运行前管理,用于限制查询并发运行的数量,通过限制查询并发数降低资源争抢,保证资源的有序高效利用。 在资源池页面“短查询配置”一栏,您可以通过开关键决定是否开启短查询加速功能。如果需要对简单语句并发数(默认值为-1,0 或-1表示不控制)进行修改,可选择打开短查询加速。 并发管理规则如下: 短查询加速开启,复杂查询受资源池并发控制,简单查询受短查询并发控制。 短查询加速关闭,复杂查询和简单查询均受资源池并发控制,短查询并发控制无效。
  • CPU管理 目前支持“共享配额”和“专属限额”两种CPU管理方式: CPU共享配额:在CPU系统繁忙的情况下,不同资源池按照共享配额配置分配CPU资源;在CPU系统空闲的情况下,该配置不生效。 CPU专属限额:限制资源池使用的CPU核数上限,无论CPU系统繁忙或者空闲,该资源池上的作业都无法突破该限额配置。 在资源池页面“资源配置”一栏,您可以修改当前资源池的CPU共享配额和专属限额。 共享配额和专属限额的管理方式各有优劣,共享配额的管理方式可以实现CPU资源的充分利用,但是资源池之间隔离不彻底,可能影响查询性能;专属限额的管理方式可以实现CPU资源的绝对隔离,但是在资源池CPU资源空闲时,会造成资源的浪费。 CPU专属限额仅8.1.3及以上集群版本支持。
  • 多机多卡 资源购买: 购买 虚拟私有云VPC 购买弹性文件服务SFS 购买 对象存储服务 OBS 购买 容器镜像服务 SWR 创建网络 购买ModelArts专属资源池 购买弹性 云服务器ECS 基本配置: 权限配置 专属资源池VPC打通 E CS 服务器挂载SFS Turbo存储 在ECS中创建ma-user和ma-group obsutils安装和配置 (可选)工作空间配置 训练: 上传数据至OBS(首次使用时需要) 上传算法至SFS 创建训练任务
  • 查看资源池事件 在资源池详情页,切换到“事件”页签。您可以查看资源从创建到添加节点的各个阶段的事件。产生事件的原因主要有“资源池状态变化”和“资源节点状态变化”。 在事件列表中,可单击“事件类型”列的筛选查看。 当资源池开始创建或者出现异常时,因资源池状态变化,会将此变化信息记录到事件中。 当节点的可用、异常、创建中、删除中的数量发生变化时,因资源池节点状态变化,会将此变化信息记录到事件中。 图1 查看资源池事件
  • 场景介绍 一个企业有多个部门,多个部门不同业务数据分析的时间段可能有所差异,具体场景如下: A部门:在00:00-09:00时间段内资源请求量大,其他时间段有短时间的资源请求量不大的任务运行。 B部门:在10:00-22:00时间段内资源请求量大,其他时间段内也有固定周期的作业请求也需要保障。 针对上述场景,弹性资源池上可以添加两个队列,队列test_a用于运行A部门的作业任务,队列test_b运行B部门的作业任务。两个部门请求量大的任务时间段固定,则可以在test_a和test_b队列上分别添加两个时间段00:00-09:00和10:00-23:00的扩缩容策略,其他时间段的作业任务通过配置队列的默认扩缩容策略进行保障。 表1 队列扩缩容策略 队列名 新增的扩缩容时间段 新增的扩缩容时间段优先级 新增的扩缩容时间段最小和最大CU 默认扩缩容时间段 默认时间段优先级 默认扩缩容时间段最小和最大CU 备注 test_a [00:00,09:00) 20 最小CU:64 最大CU:128 新增的扩缩容时间段[00:00,09:00)以外的时间段范围 5 最小CU:16 最大CU:32 运行A部门作业 test_b [10:00,23:00) 20 最小CU:64 最大CU:128 新增的扩缩容时间段[10:00,23:00)以外的时间段范围 5 最小CU:32 最大CU:64 运行B部门作业
  • 注意事项 建议对流批业务实施资源池的精细化管理,将Flink实时流类型的作业与SQL批处理类型的作业分别置于独立的弹性资源池中。 优势在于:Flink实时流任务具有常驻运行的特质,确保其稳定运行而不会强制缩容,进而避免任务中断和系统不稳定。 而SQL批处理类型的作业在独立的资源池中能够更加灵活地进行扩缩容,显著提升扩缩容的成功率和操作效率。 在全天的任意一个时间段内,弹性资源池中所有队列的最小CU数之和需要小于等于弹性资源池的最小CU数。 在全天的任意一个时间段内,弹性资源池中任意一个队列的最大CU必须小于等于弹性资源池的最大CU。 同一队列不同扩缩容策略的时间段区间不能有交集。 弹性资源池队列中的扩缩容策略时间段仅支持整点的时间段设置,并且包含设置的开启时间,不包含设置的结束时间,例如设置时间段00-09,则时间段范围为:[00:00,09:00)。默认的扩缩容策略不支持时间段配置修改。 弹性资源池扩缩容策略生效规则为:在任意一个时间段周期内,优先满足所有队列的最小CU数。剩余的CU(弹性资源池最大CU-所有队列的最小CU数之和)则根据配置的优先级顺序分配: 如果队列的优先级不同,根据配置的优先级顺序分配,直到剩余的CU数分配完成。 如果队列的优先级相同,资源会被随机分配到某一队列,如果分配后资源还有剩余会随机分配到剩下的某一队列中,直到剩余的CU数分配完成。 表2 弹性资源池扩缩容CU分配场景说明 场景 弹性资源池CU数分配说明 弹性资源池当前最大CU为256CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下: 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是128 队列B扩缩容策略:优先级10,时间段:00:00-9:00,最小CU是64,最大CU是128 到了00:00-9:00时间段: 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为160CU:弹性资源池的最大CU-两个队列的最小CU之和=256-32-64=160CU。 剩余CU数根据优先级高低来分配,因为队列B的优先级高于队列A,则优先将64CU分配给队列B,剩余的96CU全部分配给队列A。 弹性资源池当前最大CU为96CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下: 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是64 队列B扩缩容策略:优先级10,时间段:00:00-9:00,最小CU是64,最大CU是128 到了00:00-9:00时间段: 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为0CU:弹性资源池的最大CU-两个队列的最小CU之和=96-32-64=0CU。 因为剩余的CU数已经没有,则停止分配。 弹性资源池当前最大CU为128CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下: 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是64 队列B扩缩容策略:优先级10,时间段:00:00-9:00,最小CU是64,最大CU是128 到了00:00-9:00时间段: 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为32CU:弹性资源池的最大CU-两个队列的最小CU之和=128-32-64=32CU。 按照优先级,则优先将剩余的32CU分配给B队列后停止分配。 弹性资源池当前最大CU为128CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下: 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是64 队列B扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是64,最大CU是128 到了00:00-9:00时间段: 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为32CU:弹性资源池的最大CU-两个队列的最小CU之和=128-32-64=32CU。 因为两个队列的优先级相同,则剩余32CU随机分配给两个队列。
  • 操作场景 参考创建弹性资源池并添加队列创建完弹性资源池后,您可以将已有的队列关联至弹性资源池,即可将弹性资源池的资源用于后续作业的运行 您可以在弹性资源池页面通过“关联队列”将队列添加到弹性资源池。还可以在队列管理页面分配队列至弹性资源池。 弹性资源池Flink版本只支持1.10及其以上版本,如果准备分配到弹性资源池的作业使用Flink1.7版本可能会出现兼容性问题,需要提前做好Flink版本适配。
  • 在ModelArts中1个节点的专属资源池,能否部署多个服务? 支持。 在部署服务时,选择专属资源池,在选择“计算节点规格”时选择“自定义规格”,设置小一些或者选择小规格的服务节点规格,当资源池节点可以容纳多个服务节点规格时,就可以部署多个服务。如果使用此方式进行部署推理,选择的规格务必满足模型的要求,当设置的规格过小,无法满足模型的最小推理要求时,则会出现部署失败或预测失败的情况。 图1 设置自定义规格 父主题: Standard专属资源池
  • 后续操作 完成新建CodeArts资源池后,可以对资源池完成以下管理操作。 表2 管理资源池 操作 说明 修改资源池基本信息 在资源池列表中找到目标资源池,单击操作列,在弹窗中修改资源池名称、资源池描述,单击“保存”。 查看资源池详情 通过“资源池详情”页签,可以查看资源池的详细信息(包括所有者、资源池类型、创建时间以及描述信息)。 管理资源池权限 通过“权限管理”页签,可以管理资源池的使用权限。 转移所有者:所有者默认为资源池的创建者。 单击所有者后的,在下拉列表中选择用户,单击,完成所有者的转移。 设置管理者:管理者对当前资源池拥有所有操作权限,包括资源池的查看、使用与配置修改等。 单击管理者后的“添加”,在下拉列表中选择用户,单击,可以将所选用户设置为资源池管理者。 单击已设置为管理者的用户名后的,可以取消该用户的管理者权限。 设置资源池使用者:资源池使用者可以查询当前资源池内详细信息、资源池的操作历史、代理列表、使用资源池中的代理机执行任务。 单击开关,可以配置授权租户下所有用户为资源池使用者。 单击项目后的“添加”,在下拉列表中选择项目名称,单击,可以将所选项目下的所有成员设置为资源池使用者。 单击已授权的项目名称后的,可以取消该对该项目下成员的授权。 查看资源池操作历史 通过“历史操作”页签,可以查看资源池的历史操作详情。 设置 消息通知 规则 通过“通知”页签,可以根据需要为以下操作配置消息通知。当触发对应操作时,将向权限管理者发送服务动态或邮件。 创建代理 删除代理 停用代理 启用代理 下线代理 上线代理 转移所有者
  • 处理步骤 进入训练作业详情页,在左侧获取SFS Turbo的名称。 图1 获取SFS Turbo的名称 登录弹性文件服务SFS控制台,在SFS Turbo列表找到训练作业挂载的SFS Turbo,单击名称进入详情页。获取VPC信息、安全组信息和endpoint信息。 VPC信息:SFS Turbo详情页的“虚拟私有云”。 安全组信息:SFS Turbo详情页的“安全组”。 endpoint信息:SFS Turbo详情页的“共享路径”,去除“:/”即为sfs-turbo-endpoint。例如共享路径为“4ab556b5-d689-44f1-9302-24c09daxxxxc.sfsturbo.internal:/”,则sfs-turbo-endpoint为“4ab556b5-d689-44f1-9302-24c09daxxxxc.sfsturbo.internal”。 查看SFS Turbo的VPC网段是否满足如下2个条件。 条件一:SFS Turbo网段不能与192.168.20.0/24重叠,否则会和专属资源池的网段发生冲突,因为专属资源池的默认网段为192.168.20.0/24。专属资源池实际使用的网段可以在资源池的详情页面查看“网络”获取。 条件二:SFS Turbo网段不能与172网段重叠,否则会和容器网络发生冲突,因为容器网络使用的是172网段。 如果不满足条件,则修改SFS Turbo的VPC网段,推荐网段为10.X.X.X。具体操作请参见修改虚拟私有云网段。 如果满足条件,则继续下一步。 查看SFS Turbo的VPC网段的安全组是否被限制了。 在所选专属资源池中新建一个未挂载的SFS Turbo的训练作业,当训练作业处于“运行中”时,通过Cloud Shell功能登录训练作业worker-0实例,使用curl {sfs-turbo-endpoint}:{port}命令检查port是否正常打开,SFS Turbo所需要入方向的端口号为111、445、2049、2051、2052、20048,具体请参见创建文件系统的“安全组”参数。Cloud Shell功能的操作指导请参见使用CloudShell登录训练容器。 是,则修改安全组的配置,具体操作请参见修改安全组规则。 否,则继续下一步。 确认SFS Turbo是否存在异常。 新建一个和SFS Turbo在同一个网段的ECS,用ECS去挂载SFS Turbo,如果挂载失败,则表示SFS Turbo异常。 是,联系SFS服务的技术支持处理。 否,联系ModelArts的技术支持处理。
  • 怎样将老版本的Spark队列切换成通用型队列 当前 DLI 服务包括“SQL队列”和“通用队列”两种队列类型。 其中,“SQL队列”用于运行SQL作业,“通用队列”兼容老版本的Spark队列,用于运行Spark作业和Flink作业。 通过以下步骤,可以将老版本的“Spark队列”转换为新的“通用队列”。 重新购买“通用队列”。 将在旧的“Spark队列”中的作业迁移到新的“通用型队列”中,即在提交Spark作业时指定新的队列。 释放旧的“Spark队列”,即删除或退订队列。 父主题: DLI弹性资源池和队列类
  • URI URI格式 PUT /v3/{project_id}/elastic-resource-pools/{elastic_resource_pool_name}/queues/{queue_name} 参数说明 表1 路径参数 参数 是否必选 参数类型 描述 elastic_resource_pool_name 是 String 弹性资源池名称。 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 queue_name 是 String 绑定的队列名称。
  • 请求消息 表2 请求参数说明 参数 是否必选 参数类型 描述 queue_scaling_policies 是 Array of objects 该队列在该弹性资源池下的扩缩容策略信息。单条策略信息包含时间段、优先级和CU范围。每个队列至少要配置一条时间段为[00:00, 24:00]的默认扩缩容策略。详细参数说明请参考表3。 表3 queue_scaling_policies 参数 是否必选 参数类型 描述 impact_start_time 是 String 生效开始时间。 impact_stop_time 是 String 生效结束时间。 priority 是 Integer 优先级。 min_cu 是 Integer 最小CU数量。 max_cu 是 Integer 最大CU数量。