本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用监控亚马逊EMR指标 CloudWatch
每五分钟更新一次,并自动收集每个 Amazon 集群的指标并将其推送到 CloudWatch 每个 Amazon EMR 集群。此时间间隔是不可配置的。中报告的亚马逊EMR指标不收取任何费用 CloudWatch。这些五分钟的数据点指标会归档 63 天,之后数据将被丢弃。
如何使用 Amazon EMR 指标?
下表显示了 Amazon 报告的指标的常见用途EMR。这些是入门建议,并不全面。有关 Amazon 报告的指标的完整列表EMR,请参阅Amazon EMR 在 CloudWatch。
如何? | 相关指标 |
---|---|
跟踪我的集群进展 | 查看 RunningMapTasks 、RemainingMapTasks 、RunningReduceTasks 和 RemainingReduceTasks 指标。 |
检测处于空闲状态的集群 | IsIdle 指标可跟踪某个集群 (非当前运行任务) 是否正在实时运行。您可以设置当集群闲置达到给定时长 (例如 30 分钟) 时便可引发的警报。 |
检测节点何时用尽存储空间 | 该MRUnhealthyNodes 指标跟踪一个或多个核心节点或任务节点何时耗尽本地磁盘存储空间并过渡到某种UNHEALTHY YARN状态。例如,核心节点或任务节点在磁盘中的运行空间不足,并将无法运行任务。 |
检测集群何时用尽存储空间 | 该HDFSUtilization 指标监控集群的总HDFS容量,可能需要调整集群大小以添加更多核心节点。例如,HDFS利用率很高,这可能会影响作业和集群运行状况。 |
检测集群何时以更少容量运行 | MRLostNodes 指标跟踪一个或多个核心节点或任务节点何时无法与主节点通信。例如,主节点无法访问核心节点或任务节点。 |
有关更多信息,请参见集群以 NO_ _ LEFT 和核心节点 _B SLAVE Y_ 终止 FAILED MASTER和 AWSSupport-A nalyzeEMRLogs。
Amazon 的访问 CloudWatch 指标 EMR
您可以使用亚马逊EMR控制台或控制台查看亚马逊向 CloudWatch 其EMRCloudWatch 报告的指标。您也可以使用 CloudWatch CLI命令mon-get-stats
或来检索指标CloudWatch GetMetricStatistics
API。有关EMR使用查看或检索亚马逊指标的更多信息 CloudWatch,请参阅亚马逊 CloudWatch 用户指南。
Amazon EMR 在 CloudWatch
下表列出了 Amazon 在控制台中EMR报告并推送到的指标CloudWatch。
亚马逊EMR指标
Amazon EMR 将多个指标的数据发送到 CloudWatch。所有 Amazon EMR 集群会每隔五分钟自动发送指标。指标会存档两周。两周后,数据会被丢弃。
AWS/ElasticMapReduce
命名空间包括以下指标。
注意
Amazon 从集群中EMR提取指标。如果无法连接到集群,则在此集群再次变成可用状态之前,EMR 将不会报告任何指标。
以下指标适用于 Hadoop 2.x 版本上运行的集群。
指标 | 描述 |
---|---|
集群状态 | |
IsIdle |
指示集群不再执行任务,但仍处于活动状态并会产生费用。如果没有任何任务和任务处于运行状态,则此指标设置为 1;否则设置为 0。系统每隔五分钟检查一次该值,值为 1 仅表示在检查时集群处于空闲状态,并不表示它整个五分钟内都处于空闲状态。为避免误报,当多次连续 5 分钟检查获得的值均为 1 时,您应提出警报。例如,当该值在三十分钟或更长时间内都为 1 时,您应提出警报。 使用案例:监控集群性能 单位:布尔值 |
ContainerAllocated |
分配的资源容器数量ResourceManager。 使用案例:监控集群进度 单位:计数 |
ContainerReserved |
预留的容器数。 使用案例:监控集群进度 单位:计数 |
ContainerPending |
队列中尚未分配的容器数。 使用案例:监控集群进度 单位:计数 |
ContainerPendingRatio |
待处理容器与已分配容器的比率 (ContainerPendingRatio = ContainerPending / ContainerAllocated)。如果 ContainerAllocated = 0,则为 ContainerPendingRatio = ContainerPending。的值 ContainerPendingRatio 代表数字,而不是百分比。此值对基于容器分配行为扩展集群资源很有用。 单位:计数 |
AppsCompleted |
已提交给已完成YARN的申请数量。 使用案例:监控集群进度 单位:计数 |
AppsFailed |
向其提交但未能完成的申请数量。YARN 使用案例:监控集群进度,监控集群运行状况 单位:计数 |
AppsKilled |
向其提交的申请数量YARN已被取消。 使用案例:监控集群进度,监控集群运行状况 单位:计数 |
AppsPending |
向其提交的申请数量YARN处于待处理状态。 使用案例:监控集群进度 单位:计数 |
AppsRunning |
向其提交的正在运行YARN的应用程序数量。 使用案例:监控集群进度 单位:计数 |
AppsSubmitted |
提交给的申请数量YARN。 使用案例:监控集群进度 单位:计数 |
节点状态 | |
CoreNodesRunning |
处于运行状态的核心节点的数量。仅当对应的实例组存在时,才会报告此指标的数据点。 使用案例:监控集群运行状况 单位:计数 |
CoreNodesPending |
等待分配的核心节点的数量。请求的所有核心节点可能不会立即可用;此指标报告挂起的请求。仅当对应的实例组存在时,才会报告此指标的数据点。 使用案例:监控集群运行状况 单位:计数 |
LiveDataNodes |
从 Hadoop 接收任务的数据节点的百分率。 使用案例:监控集群运行状况 单位:百分比 |
MRTotalNodes |
目前可供 MapReduce 作业使用的节点数量。等同于YARN公制 使用案例:监控集群进度 单位:计数 |
MRActiveNodes |
当前正在运行 MapReduce 任务或作业的节点数量。等同于YARN公制 使用案例:监控集群进度 单位:计数 |
MRLostNodes |
分配给已标记为 MapReduce 处于LOST状态的节点的数量。等同于YARN公制 使用案例:监控集群运行状况,监控集群进度 单位:计数 |
MRUnhealthyNodes |
标记为某一UNHEALTHY状态的 MapReduce 作业可用的节点数量。等同于YARN公制 使用案例:监控集群进度 单位:计数 |
MRDecommissionedNodes |
分配给已标记为 MapReduce 某种DECOMMISSIONED状态的应用程序的节点数。等同于YARN公制 使用案例:监控集群运行状况,监控集群进度 单位:计数 |
MRRebootedNodes |
已重新启动并标记 MapReduce 为状态的可用节点的REBOOTED数量。等同于YARN公制 使用案例:监控集群运行状况,监控集群进度 单位:计数 |
MultiMasterInstanceGroupNodesRunning |
正在运行的主节点的数量。 使用案例:监控主节点故障和替换 单位:计数 |
MultiMasterInstanceGroupNodesRunningPercentage |
正在运行的主节点超过所请求的主节点实例计数的百分比。 使用案例:监控主节点故障和替换 单位:百分比 |
MultiMasterInstanceGroupNodesRequested |
请求的主节点数。 使用案例:监控主节点故障和替换 单位:计数 |
IO | |
S3 BytesWritten |
写入 Amazon S3 的字节数。此指标仅汇总MapReduce 任务,不适用于 Amazon EMR 上的其他工作负载。 使用案例:分析集群性能,监控集群进度 单位:计数 |
S3 BytesRead |
从 Amazon S3 读取的字节数。此指标仅汇总MapReduce 任务,不适用于 Amazon EMR 上的其他工作负载。 使用案例:分析集群性能,监控集群进度 单位:计数 |
HDFSUtilization |
当前使用的HDFS存储空间百分比。 使用案例:分析集群性能 单位:百分比 |
HDFSBytesRead |
从中读取的字节数HDFS。此指标仅汇总MapReduce 任务,不适用于 Amazon EMR 上的其他工作负载。 使用案例:分析集群性能,监控集群进度 单位:计数 |
HDFSBytesWritten |
写入的字节数HDFS。此指标仅汇总MapReduce 任务,不适用于 Amazon EMR 上的其他工作负载。 使用案例:分析集群性能,监控集群进度 单位:计数 |
MissingBlocks |
没有副本HDFS的区块数量。这些数据块可能已损坏。 使用案例:监控集群运行状况 单位:计数 |
CorruptBlocks |
HDFS报告已损坏的区块数量。 使用案例:监控集群运行状况 单位:计数 |
TotalLoad |
并发数据传输的总数。 使用案例:监控集群运行状况 单位:计数 |
MemoryTotalMB |
集群中的总内存量。 使用案例:监控集群进度 单位:计数 |
MemoryReservedMB |
预留内存量。 使用案例:监控集群进度 单位:计数 |
MemoryAvailableMB |
可供分配的内存量。 使用案例:监控集群进度 单位:计数 |
YARNMemoryAvailablePercentage |
剩余可用内存的百分比 YARN (YARNMemoryAvailablePercentage= MemoryAvailable MB/ MemoryTotal MB)。此值对于根据YARN内存使用量扩展集群资源非常有用。 单位:百分比 |
MemoryAllocatedMB |
分配给集群的内存量。 使用案例:监控集群进度 单位:计数 |
PendingDeletionBlocks |
标记为进行删除的数据块数。 使用案例:监控集群进度,监控集群运行状况 单位:计数 |
UnderReplicatedBlocks |
需要复制一次或多次的数据块数。 使用案例:监控集群进度,监控集群运行状况 单位:计数 |
DfsPendingReplicationBlocks |
数据块复制状态:所复制的数据块、复制请求的存在时间以及不成功的复制请求。 使用案例:监控集群进度,监控集群运行状况 单位:计数 |
CapacityRemainingGB |
剩余HDFS磁盘容量。 使用案例:监控集群进度,监控集群运行状况 单位:计数 |
Hadoop 1 指标如下:
指标 | 描述 |
---|---|
集群状态 | |
IsIdle |
指示集群不再执行任务,但仍处于活动状态并会产生费用。如果没有任何任务和任务处于运行状态,则此指标设置为 1;否则设置为 0。系统每隔五分钟检查一次该值,值为 1 仅表示在检查时集群处于空闲状态,并不表示它整个五分钟内都处于空闲状态。为避免误报,当多次连续 5 分钟检查获得的值均为 1 时,您应提出警报。例如,当该值在三十分钟或更长时间内都为 1 时,您应提出警报。 使用案例:监控集群性能 单位:布尔值 |
JobsRunning |
集群中当前处于运行状态的任务数量。 使用案例:监控集群运行状况 单位:计数 |
JobsFailed |
集群中失败的任务数量。 使用案例:监控集群运行状况 单位:计数 |
映射/减少 | |
MapTasksRunning |
每个作业处于运行中的映射任务的数量。如果您安装了调度器并且有多个任务在运行,那么会生成多个图表。 使用案例:监控集群进度 单位:计数 |
MapTasksRemaining |
每个作业的剩余映射任务的数量。如果您安装了调度器并且有多个任务在运行,那么会生成多个图表。剩余映射任务是指未处于任何以下状态的任务:运行中、已终止或已完成。 使用案例:监控集群进度 单位:计数 |
MapSlotsOpen |
未使用的映射任务容量。该指标将计算为给定集群的最大映射任务数与该集群中当前运行的映射任务总数之差。 使用案例:分析集群性能 单位:计数 |
RemainingMapTasksPerSlot |
剩余映射任务的总数与集群中可用映射插槽总数之比。 使用案例:分析集群性能 单位:比率 |
ReduceTasksRunning |
每个作业处于运行中的缩减任务的数量。如果您安装了调度器并且有多个任务在运行,那么会生成多个图表。 使用案例:监控集群进度 单位:计数 |
ReduceTasksRemaining |
每个作业的剩余缩减任务的数量。如果您安装了调度器并且有多个任务在运行,那么会生成多个图表。 使用案例:监控集群进度 单位:计数 |
ReduceSlotsOpen |
未使用的缩减任务容量。该指标将计算为给定集群的最大缩减任务容量与该集群中当前运行的缩减任务数之差。 使用案例:分析集群性能 单位:计数 |
节点状态 | |
CoreNodesRunning |
处于运行状态的核心节点的数量。仅当对应的实例组存在时,才会报告此指标的数据点。 使用案例:监控集群运行状况 单位:计数 |
CoreNodesPending |
等待分配的核心节点的数量。请求的所有核心节点可能不会立即可用;此指标报告挂起的请求。仅当对应的实例组存在时,才会报告此指标的数据点。 使用案例:监控集群运行状况 单位:计数 |
LiveDataNodes |
从 Hadoop 接收任务的数据节点的百分率。 使用案例:监控集群运行状况 单位:百分比 |
TaskNodesRunning |
处于运行状态的任务节点的数量。仅当对应的实例组存在时,才会报告此指标的数据点。 使用案例:监控集群运行状况 单位:计数 |
TaskNodesPending |
等待分配的任务节点的数量。请求的所有任务节点可能不会立即可用;此指标报告挂起的请求。仅当对应的实例组存在时,才会报告此指标的数据点。 使用案例:监控集群运行状况 单位:计数 |
LiveTaskTrackers |
处于运行状态的任务跟踪程序的百分率。 使用案例:监控集群运行状况 单位:百分比 |
IO | |
S3 BytesWritten |
写入 Amazon S3 的字节数。此指标仅汇总MapReduce 任务,不适用于 Amazon EMR 上的其他工作负载。 使用案例:分析集群性能,监控集群进度 单位:计数 |
S3 BytesRead |
从 Amazon S3 读取的字节数。此指标仅汇总MapReduce 任务,不适用于 Amazon EMR 上的其他工作负载。 使用案例:分析集群性能,监控集群进度 单位:计数 |
HDFSUtilization |
当前使用的HDFS存储空间百分比。 使用案例:分析集群性能 单位:百分比 |
HDFSBytesRead |
从中读取的字节数HDFS。 使用案例:分析集群性能,监控集群进度 单位:计数 |
HDFSBytesWritten |
写入的字节数HDFS。 使用案例:分析集群性能,监控集群进度 单位:计数 |
MissingBlocks |
没有副本HDFS的区块数量。这些数据块可能已损坏。 使用案例:监控集群运行状况 单位:计数 |
TotalLoad |
集群中所有 DataNodes 人报告的当前读者和作者总数。 使用案例:诊断高 I/O 可能导致作业执行性能低的程度。运行 DataNode 守护程序的工作节点还必须执行映射和减少任务。随着时间的推移,持续的高 TotalLoad 值可能表明高 I/O 可能是导致性能不佳的一个因素。此值的偶尔峰值属于常见情况,通常不指示问题。 单位:计数 |
集群容量指标
以下指标指示集群的当前容量或目标容量。仅当启用了托管扩展或自动终止时,这些指标才可用。
对于由实例集组成的集群,将在 Units
中测量集群容量指标。对于由实例组组成的集群,将根据托管扩展策略中使用的单位类型在 Nodes
或 VCPU
中测量集群容量指标。有关更多信息,请参阅《Amazon EMR EMR 管理指南》中的使用托管扩展。
指标 | 描述 |
---|---|
|
集群中单位/节点/ vCPUs 的目标总数,由托管扩展确定。 单位:计数 |
|
正在运行的集群中当前vCPUs 可用的单元/节点/总数。当请求集群大小调整时,将在集群中添加或删除新实例后更新此指标。 单位:计数 |
|
集群vCPUs 中的目标CORE单位/节点/数量,由托管扩展确定。 单位:计数 |
|
集群中当前vCPUs 运行的CORE单元/节点/数量。 单位:计数 |
|
集群vCPUs 中的目标TASK单位/节点/数量,由托管扩展确定。 单位:计数 |
|
集群中当前vCPUs 运行的TASK单元/节点/数量。 单位:计数 |
Amazon EMR 指标的尺寸
可以使用下表中的任何维度来筛选 Amazon EMR 数据。
维度 | 描述 |
---|---|
JobFlowId | 与 集群 ID 相同,它是集群的唯一标识符(以 j-XXXXXXXXXXXXX 形式表示)。在 Amazon EMR 控制台中单击集群即可找到该值。 |