Udostępnij za pośrednictwem


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

Za pomocą interfejsu użytkownika usługi Apache Oozie można wyświetlić dzienniki usługi Oozie. Interfejs użytkownika Oozie zawiera również linki do dzienników usługi JobTracker dla zadań usługi 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ą nazwy kontenera magazynu ani 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ą firmie 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

Może upłynąć kilka minut, zanim usługa HDInsight rozpozna, że użytkownik został dodany do grupy.


Błąd uruchamiania (Sqoop)

Problem

Stan zadania zmieni się na KILLED. Szczegóły zadania zawierają RunSqoopExport stan BŁĄD. 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 przez 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 sekcji Use Hadoop Oozie workflows (Używanie przepływów pracy usługi Hadoop Oozie) wykonaj następujące kroki:

  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 problem nie został wyświetlony lub nie możesz go rozwiązać, 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.

  • Nawiąż połączenie z @AzureSupport — oficjalnym kontem platformy Microsoft Azure, aby ulepszyć środowisko 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ą w witrynie 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 How to create an pomoc techniczna platformy Azure request (Jak utworzyć żądanie pomoc techniczna platformy Azure). Dostęp do pomocy technicznej dotyczącej zarządzania subskrypcjami i rozliczeniami jest oferowany w ramach subskrypcji platformy Microsoft Azure, a pomoc techniczna jest świadczona w ramach jednego z planów pomocy technicznej platformy Azure.