Share via


Felsöka Apache Oozie i Azure HDInsight

Med Apache Oozie-användargränssnittet kan du visa Oozie-loggar. Oozie-användargränssnittet innehåller också länkar till JobTracker-loggarna för MapReduce-uppgifter som startades av arbetsflödet. Mönstret för felsökning bör vara:

  1. Visa jobbet i Oozie-webbgränssnittet.

  2. Om det finns ett fel eller fel för en viss åtgärd väljer du åtgärden för att se om fältet Felmeddelande innehåller mer information om felet.

  3. Om det är tillgängligt använder du URL:en från åtgärden för att visa mer information, till exempel JobTracker-loggarna, för åtgärden.

Följande är specifika fel som du kan stöta på och hur du löser dem.

JA009: Det går inte att initiera klustret

Problem

Jobbstatusen ändras till PAUSAD. Information om jobbet visar statusen RunHiveScript som START_MANUAL. Om du väljer åtgärden visas följande felmeddelande:

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

Orsak

Azure Blob Storage-adresserna som används i job.xml-filen innehåller inte lagringscontainern eller lagringskontonamnet. Adressformatet för Blob Storage måste vara wasbs://containername@storageaccountname.blob.core.windows.net.

Lösning

Ändra de Blob Storage-adresser som jobbet använder.


JA002: Oozie får inte personifiera <ANVÄNDARE>

Problem

Jobbstatusen ändras till PAUSAD. Information om jobbet visar statusen RunHiveScript som START_MANUAL. Om du väljer åtgärden visas följande felmeddelande:

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

Orsak

De aktuella behörighetsinställningarna tillåter inte att Oozie personifierar det angivna användarkontot.

Lösning

Oozie kan personifiera användare i gruppen users . groups USERNAME Använd för att se de grupper som användarkontot är medlem i. Om användaren inte är medlem i users gruppen använder du följande kommando för att lägga till användaren i gruppen:

sudo adduser USERNAME users

Anteckning

Det kan ta flera minuter innan HDInsight identifierar att användaren har lagts till i gruppen.


StartFEL (Sqoop)

Problem

Jobbstatusen ändras till KILLED. Information om jobbet visar statusen RunSqoopExport SOM FEL. Om du väljer åtgärden visas följande felmeddelande:

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

Orsak

Sqoop kan inte läsa in databasdrivrutinen som krävs för att komma åt databasen.

Lösning

När du använder Sqoop från ett Oozie-jobb måste du inkludera databasdrivrutinen med de andra resurserna, till exempel workflow.xml som jobbet använder. Referera även till arkivet som innehåller databasdrivrutinen från <sqoop>...</sqoop> avsnittet i workflow.xml.

För jobbexemplet från Använd Hadoop Oozie-arbetsflöden skulle du till exempel använda följande steg:

  1. mssql-jdbc-7.0.0.jre8.jar Kopiera filen till katalogen /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. workflow.xml Ändra för att lägga till följande XML på en ny rad ovanför </sqoop>:

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

Nästa steg

Om du inte ser problemet eller inte kan lösa problemet kan du besöka någon av följande kanaler för mer support:

  • Få svar från Azure-experter via Azure Community Support.

  • Anslut med @AzureSupport – det officiella Microsoft Azure-kontot för att förbättra kundupplevelsen. Ansluta Azure-communityn till rätt resurser: svar, support och experter.

  • Om du behöver mer hjälp kan du skicka en supportbegäran från Azure Portal. Välj Support på menyraden eller öppna hubben Hjälp + support . Mer detaljerad information finns i Skapa en Azure Support begäran. Åtkomst till prenumerationshantering och faktureringssupport ingår i din Microsoft Azure-prenumeration och teknisk support tillhandahålls via någon av Azures supportplaner.