Sdílet prostřednictvím


Řešení potíží s Apache Oozie ve službě Azure HDInsight

Pomocí uživatelského rozhraní Apache Oozie můžete zobrazit protokoly Oozie. Uživatelské rozhraní Oozie obsahuje také odkazy na protokoly JobTracker pro úkoly MapReduce, které byly spuštěny pracovním postupem. Způsob řešení potíží by měl být následující:

  1. Zobrazte úlohu ve webovém uživatelském rozhraní Oozie.

  2. Pokud u konkrétní akce dojde k chybě nebo selhání, vyberte akci a podívejte se, jestli pole Chybová zpráva obsahuje další informace o selhání.

  3. Pokud jsou k dispozici, použijte adresu URL z akce k zobrazení dalších podrobností o akci, jako jsou protokoly JobTracker.

Níže jsou uvedené konkrétní chyby, na které můžete narazit, a postup jejich řešení.

JA009: Cluster nejde inicializovat

Problém

Stav úlohy se změní na POZASTAVENO. V podrobnostech o úloze se RunHiveScript zobrazuje stav START_MANUAL. Při výběru akce se zobrazí následující chybová zpráva:

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

Příčina

Adresy úložiště objektů blob Azure použité v souborujob.xml neobsahují název kontejneru úložiště nebo účtu úložiště. Formát adresy úložiště objektů blob musí být wasbs://containername@storageaccountname.blob.core.windows.net.

Řešení

Změňte adresy úložiště objektů blob, které úloha používá.


JA002: Oozie nemá povolené zosobnění <UŽIVATELE>

Problém

Stav úlohy se změní na POZASTAVENO. V podrobnostech o úloze se RunHiveScript zobrazuje stav START_MANUAL. Pokud akci vyberete, zobrazí se následující chybová zpráva:

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

Příčina

Aktuální nastavení oprávnění neumožňuje službě Oozie zosobnit zadaný uživatelský účet.

Řešení

Oozie může zosobnit uživatele ve skupině users . Pomocí příkazu groups USERNAME zobrazíte skupiny, ve které je uživatelský účet členem. Pokud uživatel není členem users skupiny, přidejte ho do skupiny pomocí následujícího příkazu:

sudo adduser USERNAME users

Poznámka

Může trvat několik minut, než HDInsight rozpozná, že uživatel byl přidán do skupiny.


CHYBA spouštěče (Sqoop)

Problém

Stav úlohy se změní na KILLED (ZABITO). V podrobnostech o úloze se RunSqoopExport zobrazuje stav CHYBA. Pokud akci vyberete, zobrazí se následující chybová zpráva:

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

Příčina

Sqoop nemůže načíst ovladač databáze požadovaný pro přístup k databázi.

Řešení

Pokud používáte Sqoop z úlohy Oozie, musíte zahrnout ovladač databáze s dalšími prostředky, jako je workflow.xml, které úloha používá. V části workflow.xml také odkazujte na archiv, který obsahuje ovladač <sqoop>...</sqoop> databáze.

Například pro příklad úlohy z části Použití pracovních postupů Hadoop Oozie byste použili následující kroky:

  1. mssql-jdbc-7.0.0.jre8.jar Zkopírujte soubor do adresáře /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. Upravte soubor workflow.xml , aby se na nový řádek výše </sqoop>přidal následující kód XML:

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

Další kroky

Pokud se váš problém nezobrazuje nebo se vám nedaří problém vyřešit, navštivte některý z následujících kanálů, kde získáte další podporu:

  • Získejte odpovědi od odborníků na Azure prostřednictvím podpory komunity Azure.

  • Spojte se s @AzureSupport – oficiálním účtem Microsoft Azure, který umožňuje zlepšit uživatelské prostředí. Propojení komunity Azure se správnými prostředky: odpověďmi, podporou a odborníky.

  • Pokud potřebujete další pomoc, můžete žádost o podporu odeslat z Azure Portal. V řádku nabídek vyberte Podpora nebo otevřete centrum Nápověda a podpora . Podrobnější informace najdete v tématu Vytvoření žádosti o podpora Azure. Přístup ke správě předplatného a podpoře fakturace je součástí předplatného Microsoft Azure a technická podpora se poskytuje prostřednictvím jednoho z plánů podpory Azure.