Monitoraggio di Apache Spark

Il sensore « Apache Spark » viene distribuito e installato automaticamente dopo l'installazione dell'agente « Instana ».

Informazioni sul supporto

Per assicurarti che il sensore Apache Spark sia compatibile con la tua configurazione attuale, consulta le seguenti sezioni delle informazioni di supporto:

Versioni supportate e politica di assistenza

Il sensore è compatibile con le versioni di Spark comprese tra 1.4.x e 3.5.x.

La tabella seguente riporta l'ultima versione supportata e la politica di assistenza:

Tecnologia Politica di assistenza Versione con tecnologia all'avanguardia Ultima versione supportata
Applicazione Apache Spark Su richiesta 3.5.4 3.5.4
Apache Spark Standalone Su richiesta 3.5.4 3.5.4

Per ulteriori informazioni sulla politica di assistenza, consultare la sezione "Strategia di assistenza per i sensori".

Configurazione

L'agente monitora l'applicazione Spark in modo nativo e la configurazione è facoltativa.

Configurazione della frequenza di polling

Nota: Instana Apache Spark sensor 1.1.11 o versioni successive e Apache Spark Standalone sensor 1.1.4 o versioni successive supportano la configurazione della frequenza di polling per ridurre l'acquisizione dei dati. Questa funzionalità è supportata nel backend Instana in gestione autonoma a partire dalla versione 311.

Frequenza di polling personalizzata per l'applicazione Spark

È possibile configurare la frequenza con cui l' Instana interroga Apache Spark per raccogliere dati e metriche utilizzando il poll_rate parametro nel file configuration.yaml dell'agent, come mostrato nell'esempio seguente:

com.instana.plugin.sparkapplication:
  poll_rate: 1 # values are in seconds. Default value is 1 second.

Frequenza di polling personalizzata per Spark Standalone

È possibile configurare la frequenza con cui l' Instana interroga Apache Spark per raccogliere dati e metriche utilizzando il poll_rate parametro nel file configuration.yaml dell'agent, come mostrato nell'esempio seguente:

com.instana.plugin.sparkstandalone:
  poll_rate: 1 # values are in seconds. Default value is 1 second.

Sensore (raccolta dati)

Applicazione Spark

I due componenti principali di un'applicazione spark sono il processo del driver e i processi dell'executor. I processi Executor contengono dati rilevanti solo per l'esecuzione dell'attività. Il Driver è il processo principale ed è responsabile del coordinamento dell'esecuzione di un'applicazione Spark. Pertanto, contiene tutti i dati sulle prestazioni e l'esecuzione dell'applicazione Spark e include anche i dati relativi a ciascun esecutore dell'applicazione Spark.

Instana raccoglie tutti i dati delle applicazioni Spark (compresi i dati dell'esecutore) dal driver JVM. Per monitorare le applicazioni Spark, è necessario installare l'agente Instana sull'host su cui è in esecuzione il driver Spark JVM.

Notare che esistono due modi per inoltrare le applicazioni spark al gestore cluster. A seconda dell'impostazione di questa opzione, la posizione in cui viene eseguito il driver JVM può variare.

  • Cluster in modalità di distribuzione: quando si esegue l'invio con l'opzione --deploy-mode cluster, ad esempio ./spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn --deploy-mode cluster /path/to/app.jar, il driver Spark JVM è in esecuzione su uno dei nodi di lavoro del gestore del cluster. Se l'agente Instana è installato sui nodi di lavoro, l'applicazione Spark (driver) viene rilevata automaticamente
  • Modalità di distribuzione client: quando si esegue l'invio con l'opzione --deploy-mode client, o senza l'opzione --deploy-mode (il valore predefinito è client), ad esempio ./spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn --deploy-mode client /path/to/app.jar o ./spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn /path/to/app.jar, il driver Spark JVM è in esecuzione sull'host su cui viene eseguito questo comando. Affinché Instana possa monitorare questa applicazione Spark, è necessario che l'agente Instana sia installato sull'host su cui viene eseguito il processo di invio (submit) di Spark.

A seconda del tipo di applicazione Spark, Instana rileva dati diversi:

Richieste in batch

  • Lavori
  • Fasi
  • Fasi completate più lunghe
  • Esecutori

Applicazioni di streaming

  • Batch
  • Ritardo pianificazione
  • Ritardo Totale
  • Tempo di elaborazione
  • Operazioni di output
  • Record di input
  • Destinatari
  • Esecutori

App Spark su AWS EMR

Instana rileva e monitora le applicazioni Spark tramite il driver Spark; pertanto, per ottenere visibilità sulle applicazioni Spark, installa l'agente sulle istanz EC2 i presenti nel tuo cluster EMR. Quando si distribuiscono applicazioni Spark dal nodo primario e utilizzando la modalità di distribuzione client, è sufficiente installare l'agente solo sul nodo primario del cluster EMR.

Se non si desidera copiare il file JAR dell'applicazione Spark sul nodo primario e si desidera distribuire l'applicazione Spark in cluster modalità da un'altra posizione, ad esempio da un bucket di S3, è necessario installare l'agente su tutti i nodi del cluster EMR. È perché il driver è pianificato sul nodo di lavoro.

Il metodo migliore consiste nel creare il cluster EMR e, nella configurazione avanzata, selezionare l'immagine AMI personalizzata su cui è stato installato l'agente Instana. Per ulteriori informazioni su come avviare il cluster EMR con l'AMI personalizzata, consultare la documentazione all'indirizzo AWS. Per creare l'immagine AMI con l'agente Instana installato, consultare la documentazione all'indirizzo AWS. Quando ti viene richiesto di collegarti via SSH all'istanza di EC2 per installare il software, utilizza il comando a riga singola che trovi nella pagina Impostazioni di Instana, accessibile cliccando su Impostazioni dalla barra laterale dell'interfaccia utente di Instana. Per ulteriori informazioni, consultare la guida all'installazione dell'agente host su Amazon Elastic Compute Cloud (Amazon EC2 ). In questo modo potrai ottenere informazioni dettagliate su tutti i nodi del tuo cluster EMR, monitorare le applicazioni Spark indipendentemente dalla modalità di distribuzione e ottenere informazioni dettagliate su tutti i componenti sottostanti di EMR, come ad esempio l' Hadoop YARN. Se desideri misurare solo le metriche di Amazon Hadoop YARN, consulta la documentazione relativa al monitoraggio di Amazon ElasticMapReduce (EMR).

Spark Standalone Cluster Manager

Oltre a funzionare sui gestori di cluster YARN, Spark offre anche una semplice modalità di implementazione autonoma. Spark Standalone è un gestore di cluster composto da nodi primari e nodi di lavoro. Instana monitora l'intero cluster autonomo Spark tramite il nodo primario del cluster. Raccoglie i dati a livello di cluster e i dati per ogni nodo di lavoro di un cluster.

Configurazione con tracciamento

  • Host
  • Porta
  • URI Rest
  • Versione
  • Stato

Metriche

  • Worker attivi
  • Worker non attivi
  • Worker disabilitati
  • Worker in uno stato sconosciuto
  • Memoria utilizzata
  • Memoria totale
  • Core utilizzati
  • Core totali
  • Dati e metriche per operatore
  • App più recenti
  • Driver più recenti