Condividi tramite


Risolvere i problemi di Apache Oozie in Azure HDInsight

L'interfaccia utente di Apache Oozie consente di visualizzare i log di Oozie. Contiene anche collegamenti ai log di JobTracker per le attività di MapReduce avviate dal flusso di lavoro. Il modello per la risoluzione dei problemi deve essere il seguente:

  1. Visualizzare il processo nell'interfaccia utente Web di Oozie.

  2. Se si verifica un errore o un problema per un'azione specifica, selezionare l'azione per vedere se il campo Error Message fornisce altre informazioni sull'errore.

  3. Se disponibile, usare l'URL dall'azione per visualizzare altri dettagli relativi all'azione, ad esempio i log di JobTracker.

Di seguito sono riportati errori specifici che possono verificarsi e viene indicato come risolverli.

JA009: Non è possibile inizializzare il cluster

Problema

lo stato del processo cambia in SUSPENDED. I dettagli del processo mostrano lo stato di RunHiveScript come START_MANUAL. Selezionando l'azione verrà visualizzato il messaggio di errore seguente:

JA009: Cannot initialize Cluster. Please check your configuration for map

Causa

gli indirizzi di archiviazione BLOB di Azure usati nel file job.xml non includono il contenitore di archiviazione o il nome dell'account di archiviazione. Il formato dell'indirizzo di archiviazione BLOB deve essere wasbs://containername@storageaccountname.blob.core.windows.net.

Risoluzione

modificare gli indirizzi di archiviazione BLOB usati dal processo.


JA002: Oozie non è autorizzato a rappresentare <USER>

Problema

lo stato del processo cambia in SUSPENDED. I dettagli del processo mostrano lo stato di RunHiveScript come START_MANUAL. Se si seleziona l'azione, viene visualizzato il messaggio di errore seguente:

JA002: User: oozie is not allowed to impersonate <USER>

Causa

le impostazioni di autorizzazione correnti non consentono a Oozie di rappresentare l'account utente specificato.

Risoluzione

Oozie può rappresentare gli utenti nel gruppo users. Usare groups USERNAME per visualizzare i gruppi di cui l'account utente è membro. Se l'utente non è membro del gruppo users, usare il comando seguente per aggiungere l'utente al gruppo:

sudo adduser USERNAME users

Nota

Potrebbero essere necessari alcuni minuti prima che HDInsight riconosca che l'utente è stato aggiunto al gruppo.


ERRORE dell'utilità di avvio (Sqoop)

Problema

lo stato del processo cambia in KILLED. I dettagli del processo mostrano lo stato di RunSqoopExport come ERROR. Se si seleziona l'azione, viene visualizzato il messaggio di errore seguente:

Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]

Causa

Sqoop non è in grado di caricare il driver del database necessario per accedere al database.

Risoluzione

quando si usa Sqoop da un processo Oozie, è necessario includere il driver del database con le altre risorse usate dal processo, ad esempio workflow.xml. Fare inoltre riferimento all'archivio contenente il driver del database dalla sezione <sqoop>...</sqoop> di workflow.xml.

Ad esempio, per l'esempio di processo da Usare flussi di lavoro di Hadoop Oozie, usare la procedura seguente:

  1. Copiare il file mssql-jdbc-7.0.0.jre8.jar nella directory /tutorials/useoozie:

    hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc-7.0.0.jre8.jar /tutorials/useoozie/mssql-jdbc-7.0.0.jre8.jar
    
  2. Modificare workflow.xml per aggiungere il codice XML seguente in una nuova riga sopra </sqoop>:

    <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
    

Passaggi successivi

Se il problema riscontrato non è presente in questo elenco o se non si riesce a risolverlo, visitare uno dei canali seguenti per ottenere ulteriore assistenza:

  • Ricevere risposte dagli esperti di Azure tramite la pagina Supporto della community per Azure.

  • Connettersi con @AzureSupport, l'account ufficiale Microsoft Azure per migliorare l'esperienza del cliente. Mette in contatto la community di Azure con le risorse giuste: risposte, supporto ed esperti.

  • Se serve ulteriore assistenza, è possibile inviare una richiesta di supporto dal portale di Azure. Selezionare Supporto nella barra dei menu o aprire l'hub Guida e supporto. Per informazioni più dettagliate, vedere Come creare una richiesta di supporto in Azure. L'accesso al supporto per la gestione delle sottoscrizioni e la fatturazione è incluso nella sottoscrizione di Microsoft Azure e il supporto tecnico viene fornito tramite uno dei piani di supporto di Azure.