了解托管扩展指标 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

了解托管扩展指标

为集群启用托管扩展时,Amazon EMR 以一分钟的精细程度发布高分辨率数据指标。您可以使用 Amazon EMR 控制台或 Amazon CloudWatch 控制台查看由托管扩展控制的每次大小调整启动和完成的相关事件。CloudWatch 指标对于 Amazon EMR 托管扩展的运行至关重要。我们建议您密切监控 CloudWatch 指标,以确保数据不会丢失。有关如何配置 CloudWatch 告警以检测缺失指标的更多信息,请参阅使用 Amazon CloudWatch 告警。有关使用 Amazon EMR 的 CloudWatch Events 详细信息,请参阅 监控 CloudWatch Events

以下指标指示集群的当前容量或目标容量。仅当启用了托管扩展时,这些指标才可用。对于由实例集组成的集群,将在 Units 中测量集群容量指标。对于由实例组组成的集群,将根据托管扩展策略中使用的单位类型在 NodesvCPU 中测量集群容量指标。

指标 描述
  • TotalUnitsRequested

  • TotalNodesRequested

  • TotalVCPURequested

集群中由托管扩展确定的单位/节点/vCPU 的目标总数。

单位:计数

  • TotalUnitsRunning

  • TotalNodesRunning

  • TotalVCPURunning

正在运行的集群中可用单位/节点/vCPU 的当前总数。当请求集群大小调整时,将在集群中添加或删除新实例后更新此指标。

单位:计数

  • CoreUnitsRequested

  • CoreNodesRequested

  • CoreVCPURequested

集群中由托管扩展确定的核心单位/节点//vCPU 的目标数量。

单位:计数

  • CoreUnitsRunning

  • CoreNodesRunning

  • CoreVCPURunning

集群中正在运行的核心单位/节点/vCPU 的当前数量。

单位:计数

  • TaskUnitsRequested

  • TaskNodesRequested

  • TaskVCPURequested

集群中由托管扩展确定的任务单位/节点/vCPU 的目标数量。

单位:计数

  • TaskUnitsRunning

  • TaskNodesRunning

  • TaskVCPURunning

集群中正在运行的任务单位/节点/vCPU 的当前数量。

单位:计数

以下指标指示集群和应用程序的使用状态。这些指标可用于所有 Amazon EMR 功能,但在为集群启用托管扩展时,将以更高的分辨率和一分钟的精细程度发布数据。您可以将以下指标与上表中的集群容量指标相关联,以了解托管扩展决策。

指标 描述

AppsCompleted

提交给 YARN 并且已完成的应用程序数。

使用案例:监控集群进度

单位:计数

AppsPending

提交给 YARN 并且处于挂起状态的应用程序数。

使用案例:监控集群进度

单位:计数

AppsRunning

提交给 YARN 并且正在运行的应用程序数。

使用案例:监控集群进度

单位:计数

ContainerAllocated

ResourceManager 分配的资源容器数。

使用案例:监控集群进度

单位:计数

ContainerPending

队列中尚未分配的容器数。

使用案例:监控集群进度

单位:计数

ContainerPendingRatio

待处理的容器与已分配的容器的比值 (ContainerPendingRatio = ContainerPending/ContainerAllocated)。如果 ContainerAllocated = 0,则 ContainerPendingRatio = ContainerPending。值 ContainerPendingRatio 表示数字,而不是百分比。此值对基于容器分配行为扩展集群资源很有用。

单位:计数

HDFSUtilization

当前使用的 HDFS 存储的百分率。

使用案例:分析集群性能

单位:百分比

IsIdle

指示集群不再执行任务,但仍处于活动状态并会产生费用。如果没有任何任务和任务处于运行状态,则此指标设置为 1;否则设置为 0。系统每隔五分钟检查一次该值,值为 1 仅表示在检查时集群处于空闲状态,并不表示它整个五分钟内都处于空闲状态。为避免误报,当多次连续五分钟检查获得的值均为 1 时,您应提出警报。例如,当该值在三十分钟或更长时间内都为 1 时,您应提出警报。

使用案例:监控集群性能

单位:布尔值

MemoryAvailableMB

可供分配的内存量。

使用案例:监控集群进度

单位:计数

MRActiveNodes

当前正在运行 MapReduce 任务或作业的节点数。等效于 YARN 指标 mapred.resourcemanager.NoOfActiveNodes

使用案例:监控集群进度

单位:计数

YARNMemoryAvailablePercentage

可用于 YARN 的剩余内存的百分比 (YARNMemoryAvailablePercentage = MemoryAvailableMB / MemoryTotalMB)。此值对基于 YARN 内存使用量扩展集群资源很有用。

单位:百分比

绘制托管扩展指标的图表

您可以绘制指标图表,以便直观地显示集群的工作负载模式和 Amazon EMR 托管扩展做出的相应扩展决策,如以下步骤所示。

在 CloudWatch 控制台中绘制托管扩展指标的图表
  1. 打开 CloudWatch 控制台

  2. 在导航窗格中,选择 Amazon EMR。您可以搜索要监控的集群的集群标识符。

  3. 向下滚动到图形的指标。打开指标显示图形。

  4. 要为一个或多个指标绘制图表,请选中每个指标旁边的复选框。

以下示例介绍了集群的 Amazon EMR 托管扩展活动。该图形显示三个自动缩减期,这些时段可在工作负载活动性较低时节省成本。


						绘制托管扩展指标的图形

所有集群容量和使用指标均以一分钟的间隔发布。其它统计信息也与每个一分钟数据相关联,这样您就可以绘制各种函数,如 PercentilesMinMaxSumAverageSampleCount

例如,下图以不同的百分位数 P10、P50、P90、P99 绘制同一 YARNMemoryAvailablePercentage 指标以及 SumAverageMinSampleCount


						使用不同百分位数绘制托管扩展指标的图形