Überwachung von serverlosen 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 von serverlosen EMR-Anwendungen und -Jobs

Mit Amazon CloudWatch Metrics for EMR Serverless können Sie CloudWatch Metriken von einer Minute erhalten und auf CloudWatch Dashboards zugreifen, um auf den near-real-time Betrieb und die Leistung Ihrer EMR Serverless-Anwendungen zuzugreifen.

EMR Serverless sendet Metriken an CloudWatch jede Minute. EMR Serverless gibt diese Metriken auf Anwendungsebene sowie auf Job-, Worker-Typ- und Arbeitsebene aus. capacity-allocation-type

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

Anmerkung

Bei serverlosen interaktiven EMR-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.

Metriken überwachen

Wichtig

Wir strukturieren die Anzeige unserer Metriken neu, um Dimensionen hinzuzufügen ApplicationName und JobName sie als 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 im Namespace verfügbaren EMR-Serverless-Dimensionen beschrieben. AWS/EMR Serverless

Dimensionen für EMR Serverless-Metriken
Dimension Description
ApplicationId

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

ApplicationName

Filtert nach allen Metriken einer serverlosen EMR-Anwendung, die den Namen verwenden. 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 Serverless 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 Arbeitertyps. 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.

Überwachung auf Anwendungsebene

Sie können die Kapazitätsnutzung auf Ebene der EMR-Serverless-Anwendung mit CloudWatch Amazon-Metriken überwachen. Sie können auch eine einzige Anzeige zur Überwachung der Anwendungskapazitätsnutzung in einem CloudWatch Dashboard einrichten.

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

Die maximale CPU-Anzahl, die für die Anwendung zulässig ist.

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 V. CPUs

vCPU ApplicationId, ApplicationName, WorkerType, CapacityAllocationType
IdleWorkerCount

Die Gesamtzahl der untätigen Arbeitnehmer.

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 Mitarbeiter, 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 Anzahl der insgesamt verfügbaren Arbeitskräfte.

Anzahl ApplicationId, ApplicationName, WorkerType, CapacityAllocationType

Überwachung auf Arbeitsebene

Amazon EMR Serverless sendet jede Minute die folgenden Metriken auf Amazon CloudWatch Auftragsebene. 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 mit dem 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 ausgeführte und abgeschlossene EMR Serverless-Jobs mit einer Engine-spezifischen Anwendung überwachen. UIs Wenn Sie auf die Benutzeroberfläche für einen laufenden Job zugreifen, wird die Benutzeroberfläche der Live-Anwendung mit Aktualisierungen in Echtzeit angezeigt. Wenn Sie auf die Benutzeroberfläche für einen abgeschlossenen Job 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 zuzugreifen UIs, 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 Jobdetails, Phasen, Aufgaben und Metriken für Spark- oder Hive-Jobausführungen zuzugreifen. Um auf diese zuzugreifen UIs, verwenden Sie die EMR Studio-Konsole oder fordern Sie einen sicheren URL-Endpunkt mit dem AWS Command Line Interface an.

Überwachung auf Arbeitgeberebene

Amazon EMR Serverless sendet die folgenden Metriken auf Job-Worker-Ebene, die im AWS/EMRServerless Namespace und in der Job Worker Metrics Metrikgruppe verfügbar sind, an Amazon. CloudWatch EMR Serverless sammelt Datenpunkte von einzelnen Mitarbeitern während der Auftragsausführung auf Auftragsebene, Arbeitstyp und Ebene. capacity-allocation-type Sie können diese Dimension verwendenApplicationId, um mehrere Jobs zu überwachen, die zu derselben Anwendung gehören.

EMR Serverless Job Metriken auf Mitarbeiterebene
Metrik Description Einheit Dimension
WorkerCpuAllocated

Die Gesamtzahl der vCPU-Kerne, die Workern in einer Jobausführung zugewiesen wurden.

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

Die Gesamtzahl der vCPU-Kerne, die von Workern in einem Joblauf verwendet werden.

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

Der Gesamtspeicher in GB, der Workern in einer Auftragsausführung zugewiesen wurde.

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

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

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

Die Anzahl der Byte an flüchtigem Speicher, die Workern in einer Auftragsausführung zugewiesen wurden.

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

Die Anzahl der Byte an flüchtigem Speicher, die von Arbeitern bei einer Auftragsausführung verwendet werden.

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

Die Anzahl der Byte, die von Arbeitern während 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 können.

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

  2. So greifen Sie auf Engine-spezifische Anwendungen UIs und Protokolle für einen laufenden Job zu:

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

    2. Wählen Sie die Job 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 Spark UI oder Hive Tez UI aus, um zur Anwendungsoberfläche für Ihren Jobtyp zu gelangen.

    4. Um auf die Spark-Engine-Logs zuzugreifen, navigieren Sie in der Spark-Benutzeroberfläche zur Registerkarte 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 maschinenspezifische Anwendungen UIs und Protokolle für einen abgeschlossenen Job zu:

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

    2. Wählen Sie die Job 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 aus, um zur Anwendungsoberfläche für Ihren Jobtyp zu gelangen.

    4. Um auf die Spark-Engine-Logs zuzugreifen, navigieren Sie in der Spark-Benutzeroberfläche zur Registerkarte 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.