本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控 EMR Serverless 应用程序和作业
借助适用于 EMR Serverless 的 Amazon CloudWatch 指标,您可以接收 1 分钟的 CloudWatch 指标并访问 CloudWatch 控制面板,以访问 EMR 无服务器应用程序的 near-real-time操作和性能。
EMR Serverless 每分钟发送一次指标。 CloudWatch EMR Serverless 在应用程序级别以及作业、工作人员类型和级别发布这些指标。 capacity-allocation-type
首先,使用 EMR 无服务器存储库中提供的 EMR 无服务器 CloudWatch 仪表板模板并进行部署
注意
EMR Serverless 交互式工作负载仅启用了应用程序级别监控,并具有新的工作线程类型维度 Spark_Kernel。要监控和调试交互式工作负载,请从 EMR Studio 工作区中访问日志和 Apache Spark 用户界面。
监控指标
重要
我们正在重组指标显示以添加ApplicationName和JobName作为维度。对于 7.10 及更高版本,旧指标将不再更新。对于 7.10 以下的 EMR 版本,旧的指标仍然可用。
当前尺寸
下表描述了 Amazon/EMR Serverless 命名空间中可用的 EMR Serverless 维度。
| 维度 | 说明 |
|---|---|
ApplicationId |
使用应用程序 ID 筛选 EMR 无服务器应用程序的所有指标。 |
ApplicationName |
使用名称筛选 EMR 无服务器应用程序的所有指标。如果未提供名称或包含非 ASCII 字符,则将其发布为 [未指定]。 |
JobId |
筛选任务运行 ID 的 EMR Serverless 的所有指标。 |
JobName |
使用名称筛选运行的 EMR Serverless 作业的所有指标。如果未提供名称或包含非 ASCII 字符,则将其发布为 [未指定]。 |
WorkerType |
筛选给定工作线程类型的所有指标。例如,您可以筛选 Spark 作业的 |
CapacityAllocationType |
筛选给定容量分配类型的所有指标。例如,您可以筛选预初始化容量 |
应用程序级别监控
您可以使用 Amazon 指标在 EMR 无服务器应用程序级别监控容量使用情况。 CloudWatch 您也可以设置单个显示器来监控 CloudWatch 仪表板中的应用程序容量使用情况。
| 指标 | 说明 | 单位 | 维度 |
|---|---|---|---|
MaxCPUAllowed |
应用程序允许的最大 CPU 数。 |
vCPU | ApplicationId, ApplicationName |
MaxMemoryAllowed |
应用程序允许的最大内存(GB)。 |
千兆字节(GB) | ApplicationId, ApplicationName |
MaxStorageAllowed |
应用程序允许的最大存储空间(GB)。 |
千兆字节(GB) | ApplicationId, ApplicationName |
CPUAllocated |
CPUs 分配的 v 的总数。 |
vCPU | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
IdleWorkerCount |
空闲的工作线程总数。 |
计数 | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
MemoryAllocated |
分配的总内存(GB)。 |
千兆字节(GB) | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
PendingCreationWorkerCount |
待创建的工作线程总数。 |
计数 | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
RunningWorkerCount |
应用程序使用的工作线程总数。 |
计数 | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
StorageAllocated |
分配的总磁盘存储空间(GB)。 |
千兆字节(GB) | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
TotalWorkerCount |
可用的工作线程总数。 |
计数 | ApplicationId, ApplicationName, WorkerType,
CapacityAllocationType |
作业级别监控
Amazon EMR Serverless 每隔一分钟向 Amazon CloudWatch 发送以下作业级别指标。您可以按任务运行状态访问聚合作业运行的指标值。每个指标的单位是计数。
| 指标 | 说明 | 维度 |
|---|---|---|
SubmittedJobs |
处于“已提交”状态的作业数量。 |
ApplicationId, ApplicationName |
PendingJobs |
处于“待定”状态的作业数量。 |
ApplicationId, ApplicationName |
ScheduledJobs |
处于“已计划”状态的作业数量。 |
ApplicationId, ApplicationName |
RunningJobs |
处于“运行中”状态的作业数量。 |
ApplicationId, ApplicationName |
SuccessJobs |
处于“成功”状态的作业数量。 |
ApplicationId, ApplicationName |
FailedJobs |
处于“失败”状态的作业数量。 |
ApplicationId, ApplicationName |
CancellingJobs |
处于“取消中”状态的作业数量。 |
ApplicationId, ApplicationName |
CancelledJobs |
处于“已取消”状态的作业数量。 |
ApplicationId, ApplicationName |
您可以使用特定于引擎的应用程序监控特定于引擎的指标,以了解正在运行和已完成的 EMR Serverless 作业。 UIs当您访问正在运行的作业的用户界面时,实时应用程序界面会显示实时更新。当您访问已完成任务的用户界面时,会显示永久应用程序界面。
运行作业
对于正在运行的 EMR Serverless 作业,请访问提供引擎特定指标的实时界面。您可以使用 Apache Spark UI 或 Hive Tez UI 来监控和调试作业。要访问这些内容 UIs,请使用 EMR Studio 控制台或使用请求安全 URL 端点。 Amazon Command Line Interface
已完成作业
对于已完成的 EMR 无服务器作业,请使用 Spark History Server 或 Persistent Hive Tez 用户界面访问 Spark 或 Hive 作业运行的作业详细信息、阶段、任务和指标。要访问这些内容 UIs,请使用 EMR Studio 控制台,或者使用请求安全 URL 端点。 Amazon Command Line Interface
作业工作线程级别监控
Amazon EMR Serverless 将AWS/EMRServerless命名空间和指标组中可用的以下作业工作人员级别的Job Worker Metrics指标发送给亚马逊。 CloudWatchEMR Serverless 在作业运行期间,在作业级别、工作人员类型和级别收集单个工作人员的数据点。 capacity-allocation-type您可以使用 ApplicationId 作为一个维度来监控属于同一应用程序的多个作业。
| 指标 | 说明 | 单位 | 维度 |
|---|---|---|---|
WorkerCpuAllocated |
作业运行中分配给工作线程的 vCPU 核心总数。 |
vCPU | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerCpuUsed |
作业运行中工作线程使用的 vCPU 核心总数。 |
vCPU | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerMemoryAllocated |
作业运行中分配给工作线程的总内存(GB)。 |
千兆字节(GB) | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerMemoryUsed |
作业运行中工作线程使用的总内存(GB)。 |
千兆字节(GB) | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerEphemeralStorageAllocated |
作业运行中分配给工作线程的临时存储字节数。 |
千兆字节(GB) | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerEphemeralStorageUsed |
作业运行中工作线程使用的临时存储字节数。 |
千兆字节(GB) | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerStorageReadBytes |
作业运行中工作线程从存储中读取的字节数。 |
字节 | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
WorkerStorageWriteBytes |
作业运行中从工作线程写入存储的字节数。 |
字节 | JobId、JobName、ApplicationId、ApplicationName、WorkerType 和 CapacityAllocationType |
以下步骤描述了如何访问各种类型的指标。