更新时间:2024-11-29 GMT+08:00

配置弹性伸缩指标

节点组维度策略

在添加规则时,可以参考表1配置相应的指标。

表1 弹性伸缩指标列表

集群类型

指标名称

数值类型

说明

流式集群

StormSlotAvailable

整型

Storm组件的可用slot数。

取值范围为[0~2147483646]。

StormSlotAvailablePercentage

百分比

Storm组件可用slot百分比。是可用slot数与总slot数的比值。

取值范围为[0~100]。

StormSlotUsed

整型

Storm组件的已用slot数。

取值范围为[0~2147483646]。

StormSlotUsedPercentage

百分比

Storm组件已用slot百分比。是已用slot数与总slot数的比值。

取值范围为[0~100]。

StormSupervisorMemAverageUsage

整型

Storm组件Supervisor的内存平均使用量。

取值范围为[0~2147483646]。

StormSupervisorMemAverageUsagePercentage

百分比

Storm组件Supervisor进程使用的内存占系统总内存的平均百分比。

取值范围[0 ~ 100]。

StormSupervisorCPUAverageUsagePercentage

百分比

Storm组件Supervisor进程使用的CPU占系统总CPU的平均百分比。

取值范围[0 ~ 6000]。

分析集群

YARNAppPending

整型

YARN组件挂起的任务数。

取值范围为[0~2147483646]。

YARNAppPendingRatio

比率

YARN组件挂起的任务数比例。是YARN挂起的任务数与YARN运行中的任务数比值。

取值范围为[0~2147483646]。

YARNAppRunning

整型

YARN组件运行中的任务数。

取值范围为[0~2147483646]。

YARNContainerAllocated

整型

YARN组件中已分配的container个数。

取值范围为[0~2147483646]。

YARNContainerPending

整型

YARN组件挂起的container个数。

取值范围为[0~2147483646]。

YARNContainerPendingRatio

比率

YARN组件挂起的container比率。是挂起的container数与运行中的container数的比值。

取值范围为[0~2147483646]。

YARNCPUAllocated

整型

YARN组件已分配的虚拟CPU核心数。

取值范围为[0~2147483646]。

YARNCPUAvailable

整型

YARN组件可用的虚拟CPU核心数。

取值范围为[0~2147483646]。

YARNCPUAvailablePercentage

百分比

YARN组件可用虚拟CPU核心数百分比。是可用虚拟CPU核心数与总虚拟CPU核心数比值。

取值范围为[0~100]。

YARNCPUPending

整型

YARN组件挂起的虚拟CPU核心数。

取值范围为[0~2147483646]。

YARNMemoryAllocated

整型

YARN组件已分配内存大小。单位为MB。

取值范围为[0~2147483646]。

YARNMemoryAvailable

整型

YARN组件可用内存大小。单位为MB。

取值范围为[0~2147483646]。

YARNMemoryAvailablePercentage

百分比

YARN组件可用内存百分比。是YARN组件可用内存大小与YARN组件总内存大小的比值。

取值范围为[0~100]。

YARNMemoryPending

整型

YARN组件挂起的内存大小。

取值范围为[0~2147483646]。

  • 表1中指标数值类型为百分比或比率时,有效数值可精确到百分位。其中百分比类型指标数值为去除百分号(%)后的小数值,如16.80即代表16.80%。
  • 混合集群的支持分析集群和流式集群的所有指标。

资源池维度策略

在添加规则时,可以参考表2配置相应的指标。

MRS 3.1.5及其之后的版本支持配置资源池维度策略。

表2 规则配置项说明

集群类型

指标名称

数值类型

说明

分析集群/自定义集群

ResourcePoolMemoryAvailable

整型

资源池YARN组件可用内存大小。单位为MB。

取值范围为[0~2147483646]。

ResourcePoolMemoryAvailablePercentage

百分比

资源池YARN组件可用内存百分比。是YARN组件可用内存大小与YARN组件总内存大小的比值。

取值范围为[0~100]。

ResourcePoolCPUAvailable

整型

资源池YARN组件可用的虚拟CPU核心数。

取值范围为[0~2147483646]。

ResourcePoolCPUAvailablePercentage

百分比

资源池YARN组件可用虚拟CPU核心数百分比。是可用虚拟CPU核心数与总虚拟CPU核心数比值。

取值范围为[0~100]。

在添加资源计划时,可以参考表3配置相应的参数。
表3 资源计划配置项说明

配置项

说明

生效日期

资源计划的生效日期。默认是每日生效,也可以选择周一至周日任意一天或几天生效。

时间范围

资源计划的起始时间和结束时间,精确到分钟,取值范围[00:00, 23:59]。例如资源计划开始于早上8:00,结束于10:00,则配置为8:00-10:00。结束时间必须晚于开始时间至少30分钟。

节点数量范围

资源计划内的节点数量上下限,取值范围[0,500],在资源计划时间内,集群Task节点数量小于最小节点数时,弹性伸缩会将集群Task节点一次性扩容到最小节点数。在资源计划时间内,集群Task节点数量大于最大节点数时,弹性伸缩会将集群Task节点一次性缩容到最大节点数。最小节点数必须小于或等于最大节点数。

  • 当启用资源计划时,弹性伸缩配置中的“默认节点数量范围”将在资源计划外的时间段内强制生效。例如“默认节点数量范围”配置为1-2,配置资源计划:08:00-10:00之间节点数量范围为4-5,则在一天中的非资源计划时间段(0:00-8:00以及10:00-23:59)内,Task节点会被强制限制在1个到2个中间,若节点数量大于2则触发自动缩容,若节点数量小于1则触发自动扩容。
  • 当不启用资源计划时,节点数量范围的“默认范围”会在全部时间范围生效,如果节点数量不在“节点数量范围”的默认范围,主动增减Task节点数量到默认范围内。
  • 资源计划间时间段不可交叉,时间段交叉意为某个时间点存在两个生效的资源计划,例如配置资源计划1在08:00-10:00生效,资源计划2在09:00-11:00生效,则两个资源计划存在时间段交叉,交叉时间段09:00-10:00。
  • 资源计划不能跨天配置,例如如果要配置23:00至次日01:00的资源计划,请配置时间段为23:00-00:00和00:00-01:00的两个资源计划。

自动化脚本

在添加自动化脚本时,可以参考表4配置相应参数。

表4 自动化脚本配置说明

配置项

说明

名称

自动化脚本的名称。

只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。

可输入的字符串长度为1~64个字符。

说明:

同一集群内,不允许配置相同的名称。不同集群之间,可以配置相同的名称。

脚本路径

脚本的路径。路径可以是OBS文件系统的路径或虚拟机本地的路径。

  • OBS文件系统的路径,必须以obs://开头,以.sh结尾。例如:obs://mrs-samples/xxx.sh
  • 虚拟机本地的路径,脚本所在的路径必须以‘/’开头,以.sh结尾。例如,安装Zepelin的示例脚本路径如下:/opt/bootstrap/zepelin/zepelin_install.sh

执行节点

选择自动化脚本所执行的节点类型。

说明:
  • 如果选择Master节点,您可以通过开关选择是否只在Active Master节点执行此脚本。
  • 如果选择开启此功能,表示只在Active Master节点上执行。如果选择关闭,表示在所有Master节点执行。默认关闭。

参数

自动化脚本参数,支持通过传入以下预定义变量获得弹性伸缩相关信息:

  • ${mrs_scale_node_num} :弹性伸缩节点数量,总是正数
  • ${mrs_scale_type} :弹性伸缩类型,扩容为“scale_out”,缩容为“scale_in”
  • ${mrs_scale_node_hostnames} :弹性伸缩节点的主机名,多个主机名之间以“,”隔开
  • ${mrs_scale_node_ips} :弹性伸缩节点的IP,多个IP之间以“,”隔开
  • ${mrs_scale_rule_name}:触发弹性伸缩的规则名,如果是资源计划则为“resource_plan”

执行时机

选择自动化脚本执行的时间。支持“扩容前”、“扩容后”、“缩容前”、“缩容后”四种类型。

说明:

假设执行节点类型中包含Task节点:

  • 执行时机为扩容前的脚本不会在将要扩容出的Task节点上执行。
  • 执行时机为扩容后的脚本会在扩容出的Task节点上执行。
  • 执行时机为缩容前的脚本会在即将被删除的Task节点上执行。
  • 执行时机为缩容后的脚本不会在已经被删除的Task节点上执行。

失败操作

该脚本执行失败后,是否继续执行后续脚本和扩缩容操作。
说明:
  • 建议您在调试阶段设置为“继续”,无论此脚本是否执行成功,则集群都能继续扩缩容操作。
  • 若脚本执行失败,请到集群虚拟机机的“/var/log/Bootstrap”路径下查看失败日志。
  • 由于缩容成功不可回滚,缩容后执行的脚本失败操作只能选择“继续”。

自动化脚本只在弹性伸缩时触发,手动调整集群节点时不会运行。