Delen via


Problemen met Apache Oozie in Azure HDInsight oplossen

Met de Gebruikersinterface van Apache Oozie kunt u Oozie-logboeken weergeven. De Oozie-gebruikersinterface bevat ook koppelingen naar de JobTracker-logboeken voor de MapReduce-taken die zijn gestart door de werkstroom. Het patroon voor het oplossen van problemen moet zijn:

  1. Bekijk de taak in de webinterface van Oozie.

  2. Als er een fout of fout optreedt voor een specifieke actie, selecteert u de actie om te zien of het veld Foutbericht meer informatie bevat over de fout.

  3. Gebruik, indien beschikbaar, de URL van de actie om meer details weer te geven, zoals de JobTracker-logboeken, voor de actie.

Hier volgen specifieke fouten die u kunt tegenkomen en hoe u deze kunt oplossen.

JA009: Kan cluster niet initialiseren

Probleem

De taakstatus wordt gewijzigd in ONDERBROKEN. Details voor de taak geven de RunHiveScript status weer als START_MANUAL. Als u de actie selecteert, wordt het volgende foutbericht weergegeven:

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

Oorzaak

De Azure Blob Storage-adressen die in het job.xml-bestand worden gebruikt, bevatten niet de naam van de opslagcontainer of het opslagaccount. De blobopslagadresindeling moet zijn wasbs://containername@storageaccountname.blob.core.windows.net.

Oplossing

Wijzig de blobopslagadressen die door de taak worden gebruikt.


JA002: Oozie mag gebruiker niet imiteren <>

Probleem

De taakstatus wordt gewijzigd in ONDERBROKEN. Details voor de taak geven de RunHiveScript status weer als START_MANUAL. Als u de actie selecteert, wordt het volgende foutbericht weergegeven:

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

Oorzaak

De huidige machtigingsinstellingen staan Oozie niet toe om het opgegeven gebruikersaccount te imiteren.

Oplossing

Oozie kan gebruikers in de users groep imiteren. Gebruik de groups USERNAME om de groepen te zien waarvan het gebruikersaccount lid is. Als de gebruiker geen lid is van de users groep, gebruikt u de volgende opdracht om de gebruiker toe te voegen aan de groep:

sudo adduser USERNAME users

Notitie

Het kan enkele minuten duren voordat HDInsight herkent dat de gebruiker is toegevoegd aan de groep.


Startfout (Sqoop)

Probleem

De taakstatus wordt gewijzigd in KILLED. Details voor de taak geven de RunSqoopExport status fout weer. Als u de actie selecteert, wordt het volgende foutbericht weergegeven:

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

Oorzaak

Sqoop kan het databasestuurprogramma dat is vereist voor toegang tot de database niet laden.

Oplossing

Wanneer u Sqoop gebruikt vanuit een Oozie-taak, moet u het databasestuurprogramma opnemen met de andere resources, zoals de workflow.xml, die de taak gebruikt. Verwijs ook naar het archief dat het databasestuurprogramma bevat uit de <sqoop>...</sqoop> sectie van de workflow.xml.

Voor het taakvoorbeeld uit Hadoop Oozie-werkstromen gebruiken gebruikt u bijvoorbeeld de volgende stappen:

  1. Kopieer het mssql-jdbc-7.0.0.jre8.jar bestand naar de map /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. Wijzig de workflow.xml om de volgende XML toe te voegen op een nieuwe regel hierboven </sqoop>:

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

Volgende stappen

Als u het probleem niet ziet of als u het probleem niet kunt oplossen, gaat u naar een van de volgende kanalen voor meer ondersteuning: