Ho letto la panoramica sulla modalità cluster e non riesco ancora a capire i diversi processi nel cluster Spark Standalone e il parallelismo.
Il lavoratore è un processo JVM o no? Ho eseguito il bin\start-slave.sh
e ho scoperto che ha generato il lavoratore, che in realtà è una JVM.
Secondo il link sopra, un esecutore è un processo avviato per un'applicazione su un nodo di lavoro che esegue attività. Un esecutore è anche un JVM.
Queste sono le mie domande:
Gli esecutori sono per applicazione. Allora qual è il ruolo di un lavoratore? Si coordina con l'esecutore e comunica il risultato al conducente? O il conducente parla direttamente con l'esecutore? In tal caso, qual è lo scopo del lavoratore allora?
Come controllare il numero di esecutori per un'applicazione?
È possibile eseguire le attività in parallelo all'interno dell'esecutore? In tal caso, come configurare il numero di thread per un esecutore?
Qual è la relazione tra lavoratore, esecutori e core esecutori (--total -ecutor-core)?
Cosa significa avere più lavoratori per nodo?
aggiornato
Facciamo esempi per capire meglio.
Esempio 1: un cluster autonomo con 5 nodi di lavoro (ogni nodo con 8 core) Quando avvio un'applicazione con impostazioni predefinite.
Esempio 2 Stessa configurazione del cluster dell'esempio 1, ma eseguo un'applicazione con le seguenti impostazioni --executor-cores 10 --total -ecutor-core 10.
Esempio 3 Stessa configurazione del cluster dell'esempio 1, ma eseguo un'applicazione con le seguenti impostazioni --executor-cores 10 --total -ecutor-cores 50.
Esempio 4 Stessa configurazione del cluster dell'esempio 1, ma eseguo un'applicazione con le seguenti impostazioni --executor-cores 50 --total -ecutor-core 50.
Esempio 5 Stessa configurazione del cluster dell'esempio 1, ma eseguo un'applicazione con le seguenti impostazioni --executor-cores 50 --total -ecutor-core 10.
In ciascuno di questi esempi, quanti esecutori? Quanti thread per esecutore? Quanti core? Come viene deciso il numero di esecutori per domanda? È sempre lo stesso del numero di lavoratori?