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:
Visualizzare il processo nell'interfaccia utente Web di Oozie.
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.
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:
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
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.