2015-08-18 18 views
9

la situazione è la seguente: viene avviatoTrucco FILATI ripulire AppCache prima di riprovare

  1. Un'applicazione filato. Viene programmato.
  2. Scrive molto nella relativa directory dell'appcache.
  3. L'applicazione ha esito negativo.
  4. YARN lo riavvia. È in sospeso, perché non c'è abbastanza spazio su disco per programmarlo. I dischi vengono riempiti dall'appcache durante l'esecuzione fallita.

Se intervento manualmente e interrompo l'applicazione, lo spazio su disco viene ripulito. Ora posso riavviare manualmente l'applicazione ed è tutto a posto.

Vorrei poter dire al tentativo automatico di pulire il disco. In alternativa suppongo che possa contare quel disco usato come parte della nuova allocazione, poiché appartiene comunque all'applicazione.

Prenderò felicemente qualsiasi soluzione tu possa offrire. Non ne so molto di FILATO. È un'applicazione Apache Spark avviata con spark-submit nella modalità yarn-client. I file che riempiono il disco sono i file shuffle spill.

risposta

2

Quindi, ecco cosa succede:

  1. Quando si invia l'applicazione del filato it creates a private local resource cartella (directory AppCache).
  2. All'interno di questa directory, il gestore del blocco accensione, creates, memorizza i dati del blocco. Come accennato:

directory locali e non sarà cancellato all'uscita JVM quando si utilizza il servizio di riordino esterno.

  1. questa directory possono essere puliti via:

    • Shutdown hook. Questo cosa succede quando uccidi l'applicazione.
    • Yarn DeletionService. Dovrebbe essere fatto automaticamente alla fine dell'applicazione. Assicurati che yarn.nodemanager.delete.debug-delay-sec = 0. In caso contrario, c'è qualche unresolved yarn bug
+0

Grazie! Sono passati 1,5 anni da quando ho postato la domanda, e da allora non ho visto il problema manifest. Quindi non posso facilmente confermare la tua risposta, ma ha senso. La mia unica prenotazione è che tu dichiari che DeletionService pulisce quando termina l'applicazione. Cosa succede se non finisce, fallisce e viene ripetuto? Stessa cosa? –