Risoluzione dei problemi di YARN

Questo articolo descrive i problemi principali e le relative soluzioni per l'uso di payload YARN in Apache Ambari.

Modalità di creazione di una nuova coda YARN in un cluster

Problema:

Creare una nuova coda YARN con allocazione della capacità nel cluster HDInsight.

Procedura per la risoluzione:

Usare la procedura seguente con Ambari per creare una nuova coda YARN e bilanciare l'allocazione delle capacità tra tutte le code.

In questo esempio per due code esistenti, una predefinita e l'altra thriftsvr, è stata modificata la capacità dal 50% al 25% consentendo alla nuova coda, Spark, di avere una capacità del 50%.

Coda Capacità Max. Capacità
default 25% 50%
thrftsvr 25% 50%
Spark 50% 50%
  1. Fare clic sull'icona Visualizzazioni di Ambari, sul motivo di griglia, e scegliere Yarn Queue Manager (Gestione code YARN).

    Fare clic sull'icona Visualizzazioni di Ambari

  2. Selezionare la coda predefinita.

    Selezionare la coda predefinita

  3. Modificare la Capacità dal 50% al 25% per la coda predefinita e al 25% per la coda thriftsvr.

    Modificare Capacità al 25% per le code predefinita e thriftsvr

  4. Fare clic su Aggiungi coda per creare una nuova coda.

    Fare clic su Aggiungi coda

  5. Assegnare un nome alla nuova coda.

    Assegnare alla coda il nome Spark

  6. Lasciare i valori della Capacità a 50% e fare clic sul pulsante Azioni.

    Fare clic sul pulsante Azioni

  7. Scegliere Save and Refresh Queues (Salva e aggiorna le code).

    Scegliere Save and Refresh Queues (Salva e aggiorna le code)

Queste modifiche saranno visibili immediatamente nell'interfaccia utente dell'utilità di pianificazione YARN.

Altre informazioni:

Modalità per scaricare i log di Yarn da un cluster

Problema:

Si devono scaricare l'applicazione master YARN e altri log del contenitore dal cluster HDInsight.

Procedura per la risoluzione:

  1. Connettersi al cluster HDInsight con un client Secure Shell (SSH). Fare riferimento alla sezione Altre informazioni riportata di seguito.
  2. Elencare tutti gli ID applicazione delle applicazioni YARN attualmente in esecuzione con il comando seguente:
yarn top

Gli ID sono elencati nella colonna APPLICATIONID di cui è necessario scaricare i log.

YARN top - 18:00:07, up 19d, 0:14, 0 active users, queue(s): root
NodeManager(s): 4 total, 4 active, 0 unhealthy, 0 decommissioned, 0 lost, 0 rebooted
Queue(s) Applications: 2 running, 10 submitted, 0 pending, 8 completed, 0 killed, 0 failed
Queue(s) Mem(GB): 97 available, 3 allocated, 0 pending, 0 reserved
Queue(s) VCores: 58 available, 2 allocated, 0 pending, 0 reserved
Queue(s) Containers: 2 allocated, 0 pending, 0 reserved

                  APPLICATIONID USER             TYPE      QUEUE   #CONT  #RCONT  VCORES RVCORES     MEM    RMEM  VCORESECS    MEMSECS %PROGR       TIME NAME
 application_1490377567345_0007 hive            spark  thriftsvr       1       0       1       0      1G      0G    1628407    2442611  10.00   18:20:20 Thrift JDBC/ODBC Server
 application_1490377567345_0006 hive            spark  thriftsvr       1       0       1       0      1G      0G    1628430    2442645  10.00   18:20:20 Thrift JDBC/ODBC Server

Scaricare i log dei contenitori YARN per tutti gli schemi dell'applicazione con il comando seguente:

yarn logs -applicationIdn logs -applicationId <application_id> -am ALL > amlogs.txt

Verrà creato il file di log denominato amlogs.txt nel formato di testo.

Scaricare i log dei contenitori YARN solo per gli schemi dell'applicazione più recenti con il comando seguente:

yarn logs -applicationIdn logs -applicationId <application_id> -am -1 > latestamlogs.txt

Verrà creato il file di log denominato latestamlogs.txt nel formato di testo.

Scaricare i log dei contenitori YARN per i primi due schemi dell'applicazione con il comando seguente:

yarn logs -applicationIdn logs -applicationId <application_id> -am 1,2 > first2amlogs.txt 

Verrà creato il file di log denominato first2amlogs.txt nel formato di testo.

Scaricare tutti i log dei contenitori di YARN con il comando seguente:

yarn logs -applicationIdn logs -applicationId <application_id> > logs.txt

Verrà creato il file di log denominato logs.txt nel formato di testo.

Scaricare i log dei contenitori di YARN per un determinato contenitore con il comando seguente:

yarn logs -applicationIdn logs -applicationId <application_id> -containerId <container_id> > containerlogs.txt 

Verrà creato il file di log denominato containerlogs.txt nel formato di testo.

Altre informazioni: