了解 Amazon EMR 中的托管扩展指标 - Amazon EMR

了解 Amazon EMR 中的托管扩展指标

为集群启用托管扩展时,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

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