View a markdown version of this page

Überwachung serverloser EMR-Anwendungen und -Jobs - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überwachung serverloser EMR-Anwendungen und -Jobs

Mit Amazon CloudWatch Metrics for EMR Serverless können Sie CloudWatch 1-Minuten-Metriken abrufen und auf CloudWatch Dashboards zugreifen, um den Betrieb und die Leistung Ihrer EMR-Serverless-Anwendungen nahezu in Echtzeit abzufragen.

EMR Serverless sendet Metriken an jede Minute. CloudWatch EMR Serverless gibt diese Metriken sowohl auf Anwendungsebene als auch auf Job-, Worker- und Kapazitätszuweisungsebene aus.

Verwenden Sie zunächst die EMR Serverless-Dashboard-Vorlage, die im EMR Serverless CloudWatch Repository bereitgestellt wird, und stellen Sie sie bereit. GitHub

Anmerkung

Für interaktive EMR Serverless Workloads ist nur die Überwachung auf Anwendungsebene aktiviert und sie verfügen über eine neue Worker-Typ-Dimension. Spark_Kernel Um Ihre interaktiven Workloads zu überwachen und zu debuggen, greifen Sie von Ihrem EMR Studio Workspace aus auf die Protokolle und die Apache Spark-Benutzeroberfläche zu.

Überwachung von Kennzahlen

Wichtig

Wir strukturieren unsere Metrikanzeige um, um Dimensionen ApplicationName und JobName Dimensionen hinzuzufügen. Für Version 7.10 und höher werden die älteren Metriken nicht mehr aktualisiert. Für EMR-Versionen unter 7.10 sind die älteren Metriken weiterhin verfügbar.

Aktuelle Abmessungen

In der folgenden Tabelle werden die EMR-Serverless-Dimensionen beschrieben, die AWS/EMR Serverless im Namespace verfügbar sind.

Dimensionen für EMR-Serverless-Metriken
Dimension Description
ApplicationId

Filtert anhand der Anwendungs-ID nach allen Metriken einer EMR-Serverless-Anwendung.

ApplicationName

Filtert nach allen Metriken einer EMR-Serverless-Anwendung unter Verwendung des Namens. Wenn der Name nicht angegeben wird oder Nicht-ASCII-Zeichen enthält, wird er als [Unspecified] veröffentlicht.

JobId

Filtert nach allen Metriken eines EMR-Servers ohne die Job-Run-ID.

JobName

Filtert nach allen Metriken eines EMR Serverless-Jobs, der unter Verwendung des Namens ausgeführt wird. Wenn der Name nicht angegeben wird oder Nicht-ASCII-Zeichen enthält, wird er als [Unspecified] veröffentlicht.

WorkerType

Filtert nach allen Metriken eines bestimmten Worker-Typs. Sie können beispielsweise nach SPARK_DRIVER und SPARK_EXECUTORS nach Spark-Jobs filtern.

CapacityAllocationType

Filtert nach allen Metriken eines bestimmten Kapazitätszuweisungstyps. Sie können beispielsweise nach PreInitCapacity vorinitialisierter Kapazität und OnDemandCapacity nach allem anderen filtern.

Application-level Überwachung

Mit CloudWatch Amazon-Metriken können Sie die Kapazitätsnutzung auf EMR-Serverless-Anwendungsebene überwachen. Sie können auch ein einzelnes Display einrichten, um die Anwendungskapazitätsnutzung in einem CloudWatch Dashboard zu überwachen.

Metriken für serverlose EMR-Anwendungen
Metrik Description Einheit Dimension
MaxCPUAllowed

Die maximal zulässige CPU für die Anwendung.

vCPU ApplicationId, ApplicationName
MaxMemoryAllowed

Der maximal zulässige Arbeitsspeicher in GB für die Anwendung.

Gigabyte (GB) ApplicationId, ApplicationName
MaxStorageAllowed

Der maximal zulässige Speicherplatz in GB für die Anwendung.

Gigabyte (GB) ApplicationId, ApplicationName
CPUAllocated

Die Gesamtzahl der zugewiesenen vCPUs.

vCPU ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
IdleWorkerCount

Die Gesamtzahl der inaktiven Mitarbeiter.

Anzahl ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
MemoryAllocated

Der gesamte zugewiesene Speicher in GB.

Gigabyte (GB) ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
PendingCreationWorkerCount

Die Gesamtzahl der Mitarbeiter, deren Erstellung noch aussteht.

Anzahl ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
RunningWorkerCount

Die Gesamtzahl der Arbeitskräfte, die von der Anwendung verwendet werden.

Anzahl ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
StorageAllocated

Der gesamte zugewiesene Festplattenspeicher in GB.

Gigabyte (GB) ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
TotalWorkerCount

Die Gesamtzahl der verfügbaren Mitarbeiter.

Anzahl ApplicationId, ApplicationName, WorkerType, CapacityAllocationType

Job-level Überwachung

Amazon EMR Serverless sendet die folgenden Metriken auf Auftragsebene im Minutentakt. Amazon CloudWatch Sie können auf die Metrikwerte für aggregierte Auftragsausführungen nach Status der Auftragsausführung zugreifen. Die Einheit für jede der Metriken ist Anzahl.

EMR-Serverless-Metriken auf Jobebene
Metrik Description Dimension
SubmittedJobs

Die Anzahl der Jobs im Status „Eingereicht“.

ApplicationId, ApplicationName
PendingJobs

Die Anzahl der Jobs mit dem Status Ausstehend.

ApplicationId, ApplicationName
ScheduledJobs

Die Anzahl der Jobs mit dem Status Geplant.

ApplicationId, ApplicationName
RunningJobs

Die Anzahl der Jobs im Status Wird ausgeführt.

ApplicationId, ApplicationName
SuccessJobs

Die Anzahl der Jobs im Status „Erfolgreich“.

ApplicationId, ApplicationName
FailedJobs

Die Anzahl der Jobs mit dem Status Fehlgeschlagen.

ApplicationId, ApplicationName
CancellingJobs

Die Anzahl der Jobs mit dem Status Storniert.

ApplicationId, ApplicationName
CancelledJobs

Die Anzahl der Jobs mit dem Status Storniert.

ApplicationId, ApplicationName

Sie können engine-spezifische Metriken für laufende und abgeschlossene EMR-Serverless-Jobs mit Engine-spezifischen Anwendungs-Benutzeroberflächen überwachen. Wenn Sie für einen laufenden Job auf die Benutzeroberfläche zugreifen, wird die Live-Anwendungsoberfläche mit Aktualisierungen in Echtzeit angezeigt. Wenn Sie für einen abgeschlossenen Job auf die Benutzeroberfläche zugreifen, wird die persistente App-Benutzeroberfläche angezeigt.

Ausführen von Aufgaben

Greifen Sie für Ihre laufenden EMR-Serverless-Jobs auf eine Echtzeitschnittstelle zu, die Engine-spezifische Metriken bereitstellt. Sie können entweder die Apache Spark-Benutzeroberfläche oder die Hive Tez-Benutzeroberfläche verwenden, um Ihre Jobs zu überwachen und zu debuggen. Um auf diese Benutzeroberflächen zuzugreifen, verwenden Sie die EMR Studio-Konsole oder fordern Sie einen sicheren URL-Endpunkt mit dem an. AWS Command Line Interface

Abgeschlossene Jobs

Verwenden Sie für Ihre abgeschlossenen EMR-Serverless-Jobs den Spark History Server oder die Persistent Hive Tez-Benutzeroberfläche, um auf Auftragsdetails, Phasen, Aufgaben und Metriken für Spark- oder Hive-Jobausführungen zuzugreifen. Um auf diese Benutzeroberflächen zuzugreifen, verwenden Sie die EMR Studio-Konsole oder fordern Sie einen sicheren URL-Endpunkt mit dem an. AWS Command Line Interface

Überwachung auf Ebene der Mitarbeiter

Amazon EMR Serverless sendet die folgenden Metriken auf Jobworker-Ebene, die im AWS/EMRServerless Namespace und Job Worker Metrics in der Metrikgruppe verfügbar sind, an Amazon. CloudWatch EMR Serverless erfasst während der Auftragsausführung Datenpunkte von einzelnen Mitarbeitern auf der Ebene des Auftrags, des Mitarbeitertyps und der Art der Kapazitätszuweisung. Sie können es ApplicationId als Dimension verwenden, um mehrere Jobs zu überwachen, die zu derselben Anwendung gehören.

Anmerkung

Um beim Anzeigen der Metriken in der CloudWatch Amazon-Konsole den gesamten CPU- und Speicherverbrauch eines EMR-Serverless-Jobs anzuzeigen, verwenden Sie die Statistik als Summe und Zeitraum als 1 Minute.

Metriken für EMR-Serverless-Jobs auf Worker-Ebene
Metrik Description Einheit Dimension
WorkerCpuAllocated

Die Gesamtzahl der vCPU-Kerne, die Workern bei einer Auftragsausführung zugewiesen wurden.

vCPU JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerCpuUsed

Die Gesamtzahl der vCPU-Kerne, die von Workern bei einer Auftragsausführung verwendet werden.

vCPU JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerMemoryAllocated

Der gesamte Arbeitsspeicher in GB, der Workern bei einer Auftragsausführung zugewiesen wurde.

Gigabyte (GB) JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerMemoryUsed

Der gesamte Arbeitsspeicher in GB, der von Workern bei einer Auftragsausführung genutzt wird.

Gigabyte (GB) JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerEphemeralStorageAllocated

Die Anzahl der Byte kurzlebigen Speichers, die Workern bei einer Auftragsausführung zugewiesen wurden.

Gigabyte (GB) JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerEphemeralStorageUsed

Die Anzahl der Byte kurzlebigen Speichers, die von Workern bei einer Auftragsausführung verwendet werden.

Gigabyte (GB) JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerStorageReadBytes

Die Anzahl der Byte, die von Workern bei einer Auftragsausführung aus dem Speicher gelesen wurden.

Bytes JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType
WorkerStorageWriteBytes

Die Anzahl der Byte, die während einer Auftragsausführung von Workern in den Speicher geschrieben wurden.

Bytes JobId, JobName, ApplicationId, ApplicationName, WorkerType, und CapacityAllocationType

In den folgenden Schritten wird beschrieben, wie Sie auf die verschiedenen Arten von Metriken zugreifen.

Console
So greifen Sie mit der Konsole auf die Benutzeroberfläche Ihrer Anwendung zu
  1. Navigieren Sie im EMR Studio zu Ihrer EMR Serverless-Anwendung. Folgen Sie den Anweisungen unter Erste Schritte von der Konsole aus.

  2. So greifen Sie auf engine-spezifische Anwendungs-Benutzeroberflächen und -protokolle für einen laufenden Job zu:

    1. Wählen Sie einen Job mit einem RUNNING Status.

    2. Wählen Sie die Stelle auf der Seite mit den Bewerbungsdetails aus oder navigieren Sie zur Seite mit den Stellendetails für Ihre Stelle.

    3. Wählen Sie im Dropdownmenü „Benutzeroberfläche anzeigen“ entweder die Spark-Benutzeroberfläche oder die Hive Tez-Benutzeroberfläche aus, um zur Anwendungsoberfläche für Ihren Jobtyp zu gelangen.

    4. Um auf die Spark-Engine-Protokolle zuzugreifen, navigieren Sie in der Spark-Benutzeroberfläche zum Tab Executors und wählen Sie den Link Logs für den Treiber. Um auf die Hive-Engine-Logs zuzugreifen, wählen Sie in der Hive Tez-Benutzeroberfläche den Link Logs für die entsprechende DAG.

  3. So greifen Sie auf modulspezifische Anwendungs-Benutzeroberflächen und -protokolle für einen abgeschlossenen Job zu:

    1. Wählen Sie einen Job mit einem SUCCESS Status.

    2. Wählen Sie die Stelle auf der Seite mit den Bewerbungsdetails Ihrer Bewerbung aus oder navigieren Sie zur Seite mit den Stellendetails der Stelle.

    3. Wählen Sie im Dropdownmenü „Benutzeroberfläche anzeigen“ entweder Spark History Server oder Persistent Hive Tez UI, um zur Anwendungsoberfläche für Ihren Jobtyp zu gelangen.

    4. Um auf die Spark-Engine-Protokolle zuzugreifen, navigieren Sie in der Spark-Benutzeroberfläche zum Tab Executors und wählen Sie den Link Logs für den Treiber. Um auf die Hive-Engine-Logs zuzugreifen, wählen Sie in der Hive Tez-Benutzeroberfläche den Link Logs für die entsprechende DAG.

AWS CLI
Um auf die Benutzeroberfläche Ihrer Anwendung zuzugreifen, verwenden Sie AWS CLI
  • Rufen Sie die GetDashboardForJobRun API auf, um eine URL zu generieren, über die Sie auf die Benutzeroberfläche Ihrer Anwendung für laufende und abgeschlossene Jobs zugreifen können.

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

    Die URL, die Sie generieren, ist eine Stunde lang gültig.