Rozwiązywanie problemów z usługą Apache Oozie w usłudze Azure HDInsight

Za pomocą interfejsu użytkownika platformy Apache Oozie można wyświetlić dzienniki Oozie. Interfejs użytkownika Oozie zawiera również linki do dzienników usługi JobTracker dla zadań MapReduce, które zostały uruchomione przez przepływ pracy. Wzorzec rozwiązywania problemów powinien być:

  1. Wyświetl zadanie w internetowym interfejsie użytkownika usługi Oozie.

  2. Jeśli wystąpi błąd lub błąd dla określonej akcji, wybierz akcję, aby sprawdzić, czy pole Komunikat o błędzie zawiera więcej informacji na temat błędu.

  3. Jeśli jest dostępna, użyj adresu URL z akcji, aby wyświetlić więcej szczegółów, takich jak dzienniki usługi JobTracker, dla akcji.

Poniżej przedstawiono konkretne błędy, które można napotkać i jak je rozwiązać.

JA009: Nie można zainicjować klastra

Problem

Stan zadania zmienia się na ZAWIESZONE. Szczegóły zadania pokazują RunHiveScript stan START_MANUAL. Wybranie akcji powoduje wyświetlenie następującego komunikatu o błędzie:

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

Przyczyna

Adresy usługi Azure Blob Storage używane w pliku job.xml nie zawierają kontenera magazynu ani nazwy konta magazynu. Format adresu usługi Blob Storage musi mieć wartość wasbs://containername@storageaccountname.blob.core.windows.net.

Rozwiązanie

Zmień adresy usługi Blob Storage używane przez zadanie.


JA002: Użytkownik Oozie nie może personifikować <użytkownika>

Problem

Stan zadania zmienia się na ZAWIESZONE. Szczegóły zadania pokazują RunHiveScript stan START_MANUAL. Jeśli wybierzesz akcję, zostanie wyświetlony następujący komunikat o błędzie:

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

Przyczyna

Bieżące ustawienia uprawnień nie zezwalają usłudze Oozie na personifikację określonego konta użytkownika.

Rozwiązanie

Oozie może personifikować użytkowników w users grupie. Użyj polecenia groups USERNAME , aby wyświetlić grupy, do których należy konto użytkownika. Jeśli użytkownik nie jest członkiem users grupy, użyj następującego polecenia, aby dodać użytkownika do grupy:

sudo adduser USERNAME users

Uwaga

Zanim usługa HDInsight rozpozna, że użytkownik został dodany do grupy, może potrwać kilka minut.


Błąd uruchamiania (Sqoop)

Problem

Stan zadania zmieni się na ZABITY. Szczegóły zadania pokazują RunSqoopExport stan BŁĘDU. Jeśli wybierzesz akcję, zostanie wyświetlony następujący komunikat o błędzie:

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

Przyczyna

Narzędzie Sqoop nie może załadować sterownika bazy danych wymaganego do uzyskania dostępu do bazy danych.

Rozwiązanie

W przypadku korzystania z narzędzia Sqoop z zadania Oozie należy uwzględnić sterownik bazy danych z innymi zasobami, takimi jak workflow.xml, używane zadanie. Należy również odwołać się do archiwum zawierającego sterownik bazy danych z <sqoop>...</sqoop> sekcji workflow.xml.

Na przykład dla przykładu zadania z użyciem przepływów pracy usługi Hadoop Oozie należy wykonać następujące czynności:

  1. mssql-jdbc-7.0.0.jre8.jar Skopiuj plik do katalogu /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. Zmodyfikuj element , workflow.xml aby dodać następujący kod XML w nowym wierszu powyżej </sqoop>:

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

Następne kroki

Jeśli nie widzisz problemu lub nie możesz rozwiązać problemu, odwiedź jeden z następujących kanałów, aby uzyskać więcej pomocy technicznej:

  • Uzyskaj odpowiedzi od ekspertów platformy Azure za pośrednictwem pomocy technicznej społeczności platformy Azure.

  • Połącz się z @AzureSupport — oficjalne konto platformy Microsoft Azure w celu poprawy jakości obsługi klienta. Łączenie społeczności platformy Azure z odpowiednimi zasobami: odpowiedziami, pomocą techniczną i ekspertami.

  • Jeśli potrzebujesz dodatkowej pomocy, możesz przesłać wniosek o pomoc techniczną z Azure Portal. Wybierz pozycję Pomoc techniczna na pasku menu lub otwórz centrum Pomoc i obsługa techniczna . Aby uzyskać bardziej szczegółowe informacje, zobacz Jak utworzyć żądanie pomoc techniczna platformy Azure. Dostęp do zarządzania subskrypcjami i rozliczeń jest dołączony do subskrypcji platformy Microsoft Azure, a pomoc techniczna jest udostępniana za pośrednictwem jednego z planów pomocy technicznej platformy Azure.