

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

为集群启用托管扩展时，Amazon EMR 以一分钟的精细程度发布高分辨率数据指标。您可以通过 Amazon EMR 控制台或 Amazon 控制台查看由托管扩展控制的每次调整大小启动和完成的事件。 CloudWatch CloudWatch 指标对于 Amazon EMR 托管扩展的运行至关重要。我们建议您密切监控 CloudWatch 指标，确保数据不会丢失。有关如何配置 CloudWatch 警报以检测缺失指标的更多信息，请参阅[使用 Amazon CloudWatch 警报](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。有关在 Amazon EMR 中使用 CloudWatch 事件的更多信息，请参阅[监控 CloudWatch](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-cloudwatch-events.html)事件。

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


| 指标 | 说明 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/managed-scaling-metrics.html)  |  集群units/nodes/vCPUs中的目标总数，由托管扩展确定。 单位：*计数*  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/managed-scaling-metrics.html)  |  正在运行的集群中当前units/nodes/vCPUs可用的总数。当请求集群大小调整时，将在集群中添加或删除新实例后更新此指标。 单位：*计数*  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/managed-scaling-metrics.html)  |  集群units/nodes/vCPUs中的目标 CORE 数量，由托管扩展确定。 单位：*计数*  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/managed-scaling-metrics.html)  |  集群中当前units/nodes/vCPUs运行的 CORE 数量。 单位：*计数*  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/managed-scaling-metrics.html)  |  集群units/nodes/vCPUs中任务的目标数量，由托管扩展决定。 单位：*计数*  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/managed-scaling-metrics.html)  |  集群中当前units/nodes/vCPUs运行的 TASK 数量。 单位：*计数*  | 

以下指标指示集群和应用程序的使用状态。这些指标可用于所有 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 = MemoryAvailable MB/ MemoryTotal MB)。此值对基于 YARN 内存使用量扩展集群资源很有用。 单位：*百分比*  | 

以下指标提供有关 YARN 容器和节点所用资源的信息。YARN 资源管理器的这些指标有助于深入了解集群中运行的容器和节点所使用的资源。请将这些指标与上表中的集群容量指标进行比较，以便更清晰地了解托管扩展的影响：


| 指标 | 相关版本 | 说明 | 
| --- | --- | --- | 
|  `YarnContainersUsedMemoryGBSeconds`  |  适用于发行版标签 7.3.0 及更高版本  |  发布期间消耗的容器内存 \$1 秒数。 **单位：**GB \$1 秒  | 
|  `YarnContainersTotalMemoryGBSeconds`  |  适用于发行版标签 7.3.0 及更高版本  |  发布期间的 yarn 容器总数 \$1 秒数。 **单位：**GB \$1 秒  | 
|  `YarnContainersUsedVCPUSeconds`  |  适用于发行版标签 7.5.0 及更高版本  |  发布期间消耗的容器 VCPU \$1 秒数。 **单位：**VCPU \$1 秒  | 
| `YarnContainersTotalVCPUSeconds` | 适用于发行版标签 7.5.0 及更高版本 |  发布期间的容器 VCPU 总数 \$1 秒数。 **单位：**VCPU \$1 秒  | 
|  `YarnNodesUsedMemoryGBSeconds`  |  适用于发行版标签 7.5.0 及更高版本  |  发布期间消耗的节点内存 \$1 秒数。 **单位：**GB \$1 秒  | 
| `YarnNodesTotalMemoryGBSeconds` | 适用于发行版标签 7.5.0 及更高版本 |  发布期间的总节点内存 \$1 秒数。 **单位：**GB \$1 秒  | 
|  `YarnNodesUsedVCPUSeconds`  |  适用于发行版标签 7.3.0 及更高版本  |  发布期间消耗的节点 VCPU \$1 秒数。 **单位：**VCPU \$1 秒  | 
|  `YarnNodesTotalVCPUSeconds`  |  适用于发行版标签 7.3.0 及更高版本  |  发布期间的总节点 VCPU \$1 秒数。 **单位：**VCPU \$1 秒  | 

## 绘制托管扩展指标的图表


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

**在 CloudWatch 控制台中绘制托管扩展指标的图表**

1. 打开 [CloudWatch 控制台](https://console.aws.amazon.com/cloudwatch/)。

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

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

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

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

![\[绘制托管扩展指标的图形\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/images/Managed_Scaling_Decision.png)


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

例如，下图以不同的百分位数 P10、P50、P90、P99 绘制同一 `YARNMemoryAvailablePercentage` 指标以及 `Sum`、`Average`、`Min`、`SampleCount`。

![\[使用不同百分位数绘制托管扩展指标的图形\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ManagementGuide/images/Managed_Scaling_Metrics.png)
