2016-05-13 11 views
7

Al momento della presentazione del programma in streaming utilizzando scintilla scintilla presentare (modalità FILATO) esso conservazione polling lo stato e mai uscireCome uscire scintilla presentare dopo la presentazione

C'è qualche opzione nel scintilla presentare per uscire dopo il sottomissione?

=== perché questo problema mi ===

Il programma di streaming verrà eseguito per sempre e non ho bisogno l'aggiornamento di stato

posso CTRL + C per fermarlo se comincio manualmente ma ho un sacco di streaming di contesto per iniziare e ho bisogno di iniziare a utilizzare lo script

posso mettere il programma scintilla presentare in background, ma dopo un sacco di processo in background java creato, l'utente corrispondente, nON in grado di eseguire qualsiasi altro processo java perché JVM non può creare il thread GC

risposta

1

Interessante. Non ho mai pensato a questo problema. Non sono sicuro che ci sia un modo pulito per farlo, ma semplicemente uccido il processo di invio sulla macchina e il processo di filatura continua a funzionare finché non lo interrompi in modo specifico. Quindi puoi creare uno script che esegua la scintilla invia e poi la uccide. Quando in realtà vorrai interrompere il lavoro, usa yarn-kill. Sporco ma funziona.

+0

Grazie per la risposta. Immagino che questo sia il modo di andare per ora. Sarà molto meglio e penso che sia il modo giusto per farlo se spark-submit fornisce un'opzione per uscire dopo la presentazione. –

0

comando timeout TIME CMD si chiuderà CMD dopo il tempo

30

So che questa è una vecchia questione, ma c'è un modo per farlo ora impostando --conf spark.yarn.submit.waitAppCompletion=false quando si utilizza spark-submit. Con questo il client uscirà dopo aver inviato correttamente l'applicazione.

In modalità cluster YARN, controlla se il client attende di uscire fino al l'applicazione completa. Se impostato su true, il processo client sarà rimanere vivo riportando lo stato dell'applicazione. In caso contrario, il processo client uscirà dopo l'invio.

Inoltre, potrebbe essere necessario impostare --deploy-mode a cluster

In modalità cluster, il driver Spark viene eseguito all'interno di un processo di maestro di applicazione che è gestito dalla FILATO sul cluster, e il client può andare via dopo aver avviato l'applicazione.

Altro https://spark.apache.org/docs/1.6.1/running-on-yarn.html

+0

ottimo, grazie per il tuo commento – Andre85

+0

Ti meriti una medaglia. – Navarro

+2

Questa risposta dovrebbe essere accettata. –

Problemi correlati