Spark-Messwerte

Mit Spark-Messwerten können Sie die Leistung von Batcharbeitslasten überwachen und die Ressourcennutzung im Blick behalten. Diese Transparenz hilft Ihnen, Ausführungsengpässe bei Ihren Treibern und Executors zu diagnostizieren. Standardmäßig erfasst Managed Service for Apache Spark verfügbare Spark-Messwerte, es sei denn, Sie verwenden Eigenschaften für die Erfassung von Spark-Messwerten, um bestimmte Messwerte zu deaktivieren oder zu überschreiben.

Weitere Attribute, die Sie beim Senden einer Managed Service for Apache Spark-Batcharbeitslast festlegen können, finden Sie unter Spark-Attribute.

Eigenschaften der Spark-Messwerterfassung

Mit den in diesem Abschnitt aufgeführten Attributen können Sie die Erfassung eines oder mehrerer verfügbarer Spark-Messwerte deaktivieren oder überschreiben.

Attribut Beschreibung
spark.dataproc.driver.metrics Wird verwendet, um Spark-Treibermesswerte zu deaktivieren oder zu überschreiben.
spark.dataproc.executor.metrics Wird verwendet, um Spark-Executor-Messwerte zu deaktivieren oder zu überschreiben.
spark.dataproc.system.metrics Wird verwendet, um Spark-Systemmesswerte zu deaktivieren.

Beispiele für die gcloud CLI:

  • Deaktivieren Sie die Erfassung von Spark-Treibermesswerten:

    gcloud dataproc batches submit spark \
        --properties spark.dataproc.driver.metrics="" \
        --region=region \
        other args ...
    
  • Überschreiben Sie die standardmäßige Spark-Treibermesswerterfassung, um nur die Messwerte BlockManager:disk.diskSpaceUsed_MB und DAGScheduler:stage.failedStages zu erfassen:

    gcloud dataproc batches submit spark \
        --properties=^~^spark.dataproc.driver.metrics="BlockManager:disk.diskSpaceUsed_MB,DAGScheduler:stage.failedStages" \
        --region=region \
        other args ...
    

Verfügbare Spark-Messwerte

Managed Service for Apache Spark erfasst die in diesem Abschnitt aufgeführten Spark-Messwerte, sofern Sie die Erfassung nicht mit Eigenschaften für die Spark-Messwerterfassung deaktivieren oder überschreiben.

custom.googleapis.com/METRIC_EXPLORER_NAME.

Spark-Treibermesswerte

Messwert Metrics Explorer-Name
BlockManager:disk.diskSpaceUsed_MB spark/driver/BlockManager/disk/diskSpaceUsed_MB
BlockManager:memory.maxMem_MB spark/driver/BlockManager/memory/maxMem_MB
BlockManager:memory.memUsed_MB spark/driver/BlockManager/memory/memUsed_MB
DAGScheduler:job.activeJobs spark/driver/DAGScheduler/job/activeJobs
DAGScheduler:job.allJobs spark/driver/DAGScheduler/job/allJobs
DAGScheduler:messageProcessingTime spark/driver/DAGScheduler/messageProcessingTime
DAGScheduler:stage.failedStages spark/driver/DAGScheduler/stage/failedStages
DAGScheduler:stage.runningStages spark/driver/DAGScheduler/stage/runningStages
DAGScheduler:stage.waitingStages spark/driver/DAGScheduler/stage/waitingStages

Spark-Executor-Messwerte

Messwert Metrics Explorer-Name
ExecutorAllocationManager:executors.numberExecutorsDecommissionUnfinished spark/driver/ExecutorAllocationManager/executors/numberExecutorsDecommissionUnfinished
ExecutorAllocationManager:executors.numberExecutorsExitedUnexpectedly spark/driver/ExecutorAllocationManager/executors/numberExecutorsExitedUnexpectedly
ExecutorAllocationManager:executors.numberExecutorsGracefullyDecommissioned spark/driver/ExecutorAllocationManager/executors/numberExecutorsGracefullyDecommissioned
ExecutorAllocationManager:executors.numberExecutorsKilledByDriver spark/driver/ExecutorAllocationManager/executors/numberExecutorsKilledByDriver
LiveListenerBus:queue.executorManagement.listenerProcessingTime spark/driver/LiveListenerBus/queue/executorManagement/listenerProcessingTime
executor:bytesRead spark/executor/bytesRead
executor:bytesWritten spark/executor/bytesWritten
executor:cpuTime spark/executor/cpuTime
executor:diskBytesSpilled spark/executor/diskBytesSpilled
executor:jvmGCTime spark/executor/jvmGCTime
executor:memoryBytesSpilled spark/executor/memoryBytesSpilled
executor:recordsRead spark/executor/recordsRead
executor:recordsWritten spark/executor/recordsWritten
executor:runTime spark/executor/runTime
executor:shuffleFetchWaitTime spark/executor/shuffleFetchWaitTime
executor:shuffleRecordsRead spark/executor/shuffleRecordsRead
executor:shuffleRecordsWritten spark/executor/shuffleRecordsWritten
executor:shuffleRemoteBytesReadToDisk spark/executor/shuffleRemoteBytesReadToDisk
executor:shuffleWriteTime spark/executor/shuffleWriteTime
executor:succeededTasks spark/executor/succeededTasks
ExecutorMetrics:MajorGCTime spark/executor/ExecutorMetrics/MajorGCTime
ExecutorMetrics:MinorGCTime spark/executor/ExecutorMetrics/MinorGCTime

Systemmesswerte

Messwert Name des Metrics Explorer
agent:uptime agent/uptime
cpu:utilization cpu/utilization
disk:bytes_used disk/bytes_used
disk:percent_used disk/percent_used
memory:bytes_used memory/bytes_used
memory:percent_used memory/percent_used
network:tcp_connections network/tcp_connections

Spark-Messwerte ansehen

Wenn Sie Batch-Messwerte aufrufen möchten, klicken Sie in derGoogle Cloud Console auf der Seite Batches von Managed Service for Apache Spark auf eine Batch-ID. Dadurch wird die Seite Details für den Batch geöffnet, auf der auf dem Tab Monitoring ein Messwertdiagramm für die Batch-Arbeitslast angezeigt wird.

Abbildung 1. Spark-Messwertdiagramm für eine Batcharbeitslast.

Weitere Informationen zum Aufrufen erfasster Messwerte finden Sie unter Cloud Monitoring für Managed Service for Apache Spark.