監控 EMR Serverless 應用程式和任務 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控 EMR Serverless 應用程式和任務

透過適用於 EMR Serverless 的 Amazon CloudWatch 指標,您可以接收 1 分鐘的 CloudWatch 指標並存取 CloudWatch 儀表板,以檢視 EMR Serverless 應用程式的near-real-time操作和效能。

EMR Serverless 每分鐘將指標傳送至 CloudWatch。EMR Serverless 會在應用程式層級以及任務、工作者類型和capacity-allocation-type層級發出這些指標。

若要開始使用,請使用 EMR Serverless GitHub 儲存庫中提供的 EMR Serverless CloudWatch 儀表板範本,並進行部署。

注意

EMR Serverless 互動式工作負載僅啟用應用程式層級監控,並具有新的工作者類型維度 Spark_Kernel。若要監控和偵錯互動式工作負載,您可以從 EMR Studio 工作區中檢視日誌和 Apache Spark UI。

下表說明AWS/EMRServerless命名空間中可用的 EMR Serverless 維度。

EMR Serverless 指標的維度
維度 描述
ApplicationId

篩選 EMR Serverless 應用程式的所有指標。

JobId

篩選 EMR Serverless 任務執行的所有指標。

WorkerType

篩選指定工作者類型的所有指標。例如,您可以篩選 Spark 任務的 SPARK_EXECUTORS SPARK_DRIVER和 。

CapacityAllocationType

篩選指定容量分配類型的所有指標。例如,您可以篩選 PreInitCapacity的預先初始化容量和其他OnDemandCapacity項目。

應用程式層級監控

您可以使用 Amazon CloudWatch 指標監控 EMR Serverless 應用程式層級的容量使用量。您也可以設定單一檢視來監控 CloudWatch 儀表板中的應用程式容量用量。

EMR Serverless 應用程式指標
指標 描述 主要維度 次要維度
CPUAllocated

配置vCPUs 總數。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
IdleWorkerCount

工作者閒置總數。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
MaxCPUAllowed

應用程式允許的 CPU 上限。

ApplicationId N/A
MaxMemoryAllowed

應用程式允許的記憶體上限,以 GB 為單位。

ApplicationId N/A
MaxStorageAllowed

應用程式的允許最大儲存容量,以 GB 為單位。

ApplicationId N/A
MemoryAllocated

配置的總記憶體,以 GB 為單位。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
PendingCreationWorkerCount

等待建立的工作者總數。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
RunningWorkerCount

應用程式正在使用的工作者總數。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
StorageAllocated

GB 配置的總磁碟儲存體。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
TotalWorkerCount

可用的工作者總數。

ApplicationId ApplicationId, WorkerType, CapacityAllocationType

任務層級監控

Amazon EMR Serverless Amazon CloudWatch 每一分鐘會傳送下列任務層級指標給 。您可以依任務執行狀態檢視彙總任務執行的指標值。每個指標的單位都是計數

EMR Serverless 任務層級指標
指標 描述 主要維度
SubmittedJobs

處於已提交狀態的任務數量。

ApplicationId
PendingJobs

處於待定狀態的任務數量。

ApplicationId
ScheduledJobs

處於排程狀態的任務數量。

ApplicationId
RunningJobs

處於執行中狀態的任務數量。

ApplicationId
SuccessJobs

處於成功狀態的任務數量。

ApplicationId
FailedJobs

處於失敗狀態的任務數量。

ApplicationId
CancellingJobs

處於取消狀態的任務數量。

ApplicationId
CancelledJobs

處於已取消狀態的任務數量。

ApplicationId

您可以使用引擎特定應用程式 UIs 來監控執行中和已完成 EMR Serverless 任務的引擎特定指標。當您檢視執行中任務的 UI 時,您會看到即時應用程式 UI 與即時更新。當您檢視已完成任務的 UI 時,您會看到持久性應用程式 UI。

執行任務

對於執行中的 EMR Serverless 任務,您可以檢視提供引擎特定指標的即時界面。您可以使用 Apache Spark UI 或 Hive Tez UI 來監控和偵錯任務。若要存取這些 UIs,請使用 EMR Studio 主控台,或向 請求安全 URL 端點 AWS Command Line Interface。

已完成的任務

對於已完成的 EMR Serverless 任務,您可以使用 Spark 歷史記錄伺服器或持久性 Hive Tez UI 來檢視 Spark 或 Hive 任務執行的任務詳細資訊、階段、任務和指標。若要存取這些 UIs,請使用 EMR Studio 主控台,或透過 請求安全 URL 端點 AWS Command Line Interface。

任務工作者層級監控

Amazon EMR Serverless 會將命名AWS/EMRServerless空間和Job Worker Metrics指標群組中可用的下列任務工作者層級指標傳送至 Amazon CloudWatch。EMR Serverless 會在任務層級、工作者類型和capacity-allocation-type層級的任務執行期間,收集個別工作者的資料點。您可以使用 ApplicationId做為維度,監控屬於相同應用程式的多個任務。

EMR Serverless 任務工作者層級指標
指標 描述 單位 主要維度 次要維度
WorkerCpuAllocated

任務執行中為工作者配置的 vCPU 核心總數。

JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerCpuUsed

作業執行中工作者使用的 vCPU 核心總數。

JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerMemoryAllocated

任務執行中為工作者配置的總記憶體,以 GB 為單位。

GB (GB) JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerMemoryUsed

工作者在任務執行中所使用的總記憶體,以 GB 為單位。

GB (GB) JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerEphemeralStorageAllocated

任務執行中為工作者配置的暫時性儲存的位元組數。

GB (GB) JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerEphemeralStorageUsed

作業執行中工作者使用的暫時性儲存的位元組數。

GB (GB) JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerStorageReadBytes

作業執行中工作者從儲存體讀取的位元組數。

位元組 JobId ApplicationIdWorkerTypeCapacityAllocationType
WorkerStorageWriteBytes

任務執行中從工作者寫入儲存體的位元組數。

位元組 JobId ApplicationIdWorkerTypeCapacityAllocationType

下列步驟說明如何檢視各種類型的指標。

Console
使用主控台存取您的應用程式 UI
  1. 透過主控台入門中的指示,導覽至 EMR Studio 上的 EMR Serverless 應用程式。

  2. 若要檢視執行中任務的引擎特定應用程式 UIs 和日誌:

    1. 選擇RUNNING狀態為 的任務。

    2. 應用程式詳細資訊頁面上選取任務,或導覽至任務的任務詳細資訊頁面。

    3. 顯示 UI 下拉式功能表下,選擇 Spark UIHive Tez UI,以導覽至任務類型的應用程式 UI。

    4. 若要檢視 Spark 引擎日誌,請導覽至 Spark UI 中的執行器索引標籤,然後選擇驅動程式的日誌連結。若要檢視 Hive 引擎日誌,請在 Hive Tez UI 中選擇適當 DAG 的日誌連結。

  3. 若要檢視已完成任務的引擎特定應用程式 UIs和日誌:

    1. 選擇SUCCESS狀態為 的任務。

    2. 在應用程式的應用程式詳細資訊頁面上選取任務,或導覽至任務的任務詳細資訊頁面。

    3. 顯示 UI 下拉式功能表下,選擇 Spark 歷史記錄伺服器持久性 Hive Tez UI,以導覽至任務類型的應用程式 UI。

    4. 若要檢視 Spark 引擎日誌,請導覽至 Spark UI 中的執行器索引標籤,然後選擇驅動程式的日誌連結。若要檢視 Hive 引擎日誌,請在 Hive Tez UI 中選擇適當 DAG 的日誌連結。

AWS CLI
使用 存取您的應用程式 UI AWS CLI
  • 若要產生 URL,供您用來存取執行中和已完成任務的應用程式 UI,請呼叫 GetDashboardForJobRun API。

    aws emr-serverless get-dashboard-for-job-run / --application-id <application-id> / --job-run-id <job-id>

    您產生的 URL 有效期為一小時。