文档首页> MapReduce服务 MRS> 快速入门> 配置MRS集群弹性伸缩
更新时间:2022-05-12 GMT+08:00
分享

配置MRS集群弹性伸缩

在大数据应用,尤其是实时分析处理数据的场景中,常常需要根据数据量的变化动态调整集群节点数量以增减资源。MRS的弹性伸缩规则功能支持根据集群负载对集群进行弹性伸缩。

  • 弹性伸缩规则:根据集群实时负载对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。
  • 资源计划(按时间段设置Task节点数量范围):若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。

弹性伸缩规则与资源计划均可触发弹性伸缩,两者至少配置其中一种,也可以叠加使用。本入门指导您快速根据实际业务场景配置MRS集群的弹性伸缩规则。

本指导的基本内容如下所示:

  1. 创建集群并配置Task节点
  2. 场景一:单独使用弹性伸缩规则
  3. 场景二:单独使用资源计划
  4. 场景三:弹性伸缩规则与资源计划叠加使用

创建集群并配置Task节点

  • 本操作以快速购买一个MRS 3.1.0版本的Hadoop分析集群为例进行说明。
  • 仅Task类型节点组支持配置弹性伸缩,在配置弹性伸缩前请先检查当前集群是否有Task节点。
  1. 登录华为云管理控制台,选择“大数据 > MapReduce服务 MRS”,单击“购买集群”,选择“快速购买”,填写软件配置参数,单击“立即购买”。

    表1 参数配置(以下参数仅供参考,可根据实际情况调整)

    参数项

    取值

    区域

    根据实际情况选择

    计费模式

    按需计费

    集群名称

    MRS_demo

    集群版本

    MRS 3.1.0

    组件选择

    Hadoop分析集群

    可用区

    可用区2

    虚拟私有云

    vpc-gggg

    子网

    subnet-64db

    企业项目

    default

    Kerberos认证

    不开启

    用户名

    root/admin

    密码

    设置密码登录集群管理页面及ECS节点用户的密码,例如:Test!@12345。

    确认密码

    再次输入设置用户密码

    通信安全授权

    勾选“确认授权”

  2. 等待集群创建成功后,进入集群,选择“节点管理”页签,查看当前集群是否有Task节点。

    • 是,操作完成。
    • 否,请执行3

  3. 配置Task节点。

    1. 在“节点管理”页签,单击“配置Task节点”,进入“配置Task节点”页面。

      对于MRS 3.x及之后版本,“配置Task节点”仅适用于分析集群、流式集群和混合集群。

    2. 根据需要配置相关参数。

    3. 单击“确定”。

场景一:单独使用弹性伸缩规则

例如业务场景如下:

需要根据Yarn资源使用情况动态调整节点数,在Yarn可用内存低于20%时扩容5个节点,可用内存高于70%时缩容5个节点。Task节点组最高不超过10个节点,最低不少于1个节点。

  1. 参考创建集群并配置Task节点创建集群并配置Task节点。
  2. 在MRS管理控制台,选择“集群列表 > 现有集群”,单击待操作的集群名称,进入集群详情页面。
  3. 单击“节点管理”页签,在Task节点组的“操作”列单击“弹性伸缩”,进入“弹性伸缩”页面。
  4. 在“弹性伸缩”界面单击开启弹性伸缩,并配置“节点数量范围”为“1 - 10”。

  5. 配置扩容规则。

    1. 勾选“伸缩规则”区域的“扩容”。
    2. 单击“扩容”后方的“添加规则”,弹出“添加规则”窗口。
    3. 在“添加规则”窗口中配置相关参数。
      • 规则名称:保持默认,例如“default-expand-2”
      • 如果:YARNMemoryAvailablePercentage 小于 20%(相关指标项对应含义请参考表2
      • 持续:1个五分钟
      • 添加:5个节点
      • 冷却时间:20分钟
    4. 单击“确定”。

  6. 配置缩容规则。

    1. 勾选“伸缩规则”区域的“缩容”。
    2. 单击“缩容”后方的“添加规则”,弹出“添加规则”窗口。
    3. 在“添加规则”窗口中配置相关参数。
      • “规则名称”:保持默认,例如“default-shrink-2”
      • “如果”:YARNMemoryAvailablePercentage 大于 70%(相关指标项对应含义请参考表2
      • “持续”:1个五分钟
      • “终止”:5个节点
      • “冷却时间”:20分钟
    4. 单击“确定”。

  7. 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”
  8. 单击“确定”,等待弹性伸缩集群设置完成。

场景二:单独使用资源计划

例如业务场景如下:

需要定时增加或减少节点数,在10:00~22:00由于业务量较大,需要使用10个节点,其余时间使用5个节点。

  1. 参考创建集群并配置Task节点创建集群并配置Task节点。
  2. 在MRS管理控制台,选择“集群列表 > 现有集群”,单击待操作的集群名称,进入集群详情页面。
  3. 单击“节点管理”页签,在Task节点组的“操作”列单击“弹性伸缩”,进入“弹性伸缩”页面。
  4. 在“弹性伸缩”界面开启弹性伸缩及配置“节点数量范围”。

    • “弹性伸缩”:开启
    • “节点数量范围”:5 - 5

  5. 单击“默认范围”下方的“配置指定时间段的节点数量范围”,配置相关参数。

    • “时间范围”:10:00 - 22:00
    • “节点数量范围”:10 - 10

  6. 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”
  7. 单击“确定”,等待弹性伸缩集群设置完成。

场景三:弹性伸缩规则与资源计划叠加使用

本操作以如下为例,配置弹性伸缩规则与资源计划叠加使用操作。

例如业务场景如下:

某项实时处理业务数据量在每天7:00-13:00出现规律性变化,但是数据量变化并非非常平稳。假设在7:00-13:00期间,需要Task节点的数量范围是5-8个,其他时间需要根据YARN组件运行中的任务数动态伸缩Task节点范围为2-4个。

  1. 参考创建集群并配置Task节点创建集群并配置Task节点。
  2. 在MRS管理控制台,选择“集群列表 > 现有集群”,单击待操作的集群名称,进入集群详情页面。
  3. 单击“节点管理”页签,在Task节点组的“操作”列单击“弹性伸缩”,进入“弹性伸缩”页面。
  4. 在“弹性伸缩”界面单击开启弹性伸缩,并配置“节点数量范围”为“2 - 4”。

    图1 配置弹性伸缩

  5. 配置资源计划。

    1. 在弹性伸缩页面单击默认范围下方的“配置指定时间段的节点数量范围”
    2. 配置“时间范围”“节点数量范围”
      图2 弹性伸缩

      “时间范围”“07:00-13:00”

      “节点数量范围”“5-8”

  6. 配置弹性伸缩规则。

    1. 勾选“扩容”
    2. 单击右侧“添加规则”,进入“添加规则”页面。
      图3 添加规则

      “规则名称”:default-expand-2

      “如果”:在下拉框中选择规则对象及约束要求,例如YARNAppRunning 大于 75

      “持续”:1个五分钟

      “添加”:1个节点

      “冷却时间”:20分钟

    3. 单击“确定”

  7. 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”
  8. 单击“确定”,等待弹性伸缩集群设置完成。

参考信息

在添加规则时,可以参考表2配置相应的指标。
  • 混合集群的支持分析集群和流式集群的所有指标。
  • 表2该表中不同数值类型取值精度如下:
    • 整型:整数。
    • 百分比:0.01。
    • 比率:0.01。
表2 弹性伸缩指标列表

集群类型

指标名称

数值类型

说明

流式集群

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]。

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

配置项

说明

时间范围

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

节点数量范围

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

分享:

    相关文档

    相关产品

close