Udostępnij za pośrednictwem


Troubleshoot Apache Hive by using Azure HDInsight (Rozwiązywanie problemów z technologią Apache Hive za pomocą usługi Azure HDInsight)

Dowiedz się więcej o najważniejszych pytaniach i ich rozwiązaniach podczas pracy z ładunkami apache Hive w systemie Apache Ambari.

Jak mogę wyeksportować magazyn metadanych Hive i zaimportować go w innym klastrze?

Kroki umożliwiające rozwiązanie problemów

  1. Nawiąż połączenie z klastrem usługi HDInsight przy użyciu klienta protokołu Secure Shell (SSH). Aby uzyskać więcej informacji, zobacz Dodatkowe informacje.

  2. Uruchom następujące polecenie w klastrze usługi HDInsight, z którego chcesz wyeksportować magazyn metadanych:

    for d in `hive -e "show databases"`; do echo "create database $d; use $d;" >> alltables.sql ; for t in `hive --database $d -e "show tables"` ; do ddl=`hive --database $d -e "show create table $t"`; echo "$ddl ;" >> alltables.sql ; echo "$ddl" | grep -q "PARTITIONED\s*BY" && echo "MSCK REPAIR TABLE $t ;" >> alltables.sql ; done; done
    

    To polecenie generuje plik o nazwie allatables.sql.

  3. Skopiuj plik alltables.sql do nowego klastra usługi HDInsight, a następnie uruchom następujące polecenie:

    hive -f alltables.sql
    

Kod w krokach rozwiązywania zakłada, że ścieżki danych w nowym klastrze są takie same jak ścieżki danych w starym klastrze. Jeśli ścieżki danych są inne, możesz ręcznie edytować wygenerowany alltables.sql plik, aby odzwierciedlić wszelkie zmiany.

Materiały uzupełniające

Jak mogę zlokalizować dzienniki hive w klastrze?

Kroki umożliwiające rozwiązanie problemów

  1. Nawiąż połączenie z klastrem usługi HDInsight przy użyciu protokołu SSH. Aby uzyskać więcej informacji, zobacz Dodatkowe informacje.

  2. Aby wyświetlić dzienniki klienta programu Hive, użyj następującego polecenia:

    /tmp/<username>/hive.log
    
  3. Aby wyświetlić dzienniki magazynu metadanych Hive, użyj następującego polecenia:

    /var/log/hive/hivemetastore.log
    
  4. Aby wyświetlić dzienniki serwera Hive, użyj następującego polecenia:

    /var/log/hive/hiveserver2.log
    

Materiały uzupełniające

Jak mogę uruchomić powłokę Hive z określonymi konfiguracjami w klastrze?

Kroki umożliwiające rozwiązanie problemów

  1. Określ parę klucz-wartość konfiguracji podczas uruchamiania powłoki Programu Hive. Aby uzyskać więcej informacji, zobacz Dodatkowe informacje.

    hive -hiveconf a=b
    
  2. Aby wyświetlić listę wszystkich skutecznych konfiguracji w powłoce programu Hive, użyj następującego polecenia:

    hive> set;
    

    Na przykład użyj następującego polecenia, aby uruchomić powłokę Programu Hive z włączonym rejestrowaniem debugowania w konsoli programu :

    hive -hiveconf hive.root.logger=ALL,console
    

Materiały uzupełniające

Jak mogę przeanalizować dane usługi Apache Tez DAG na ścieżce krytycznej dla klastra?

Kroki umożliwiające rozwiązanie problemów

  1. Aby przeanalizować graf acykliczny (DAG) platformy Apache Tez na grafie krytycznym dla klastra, połącz się z klastrem usługi HDInsight przy użyciu protokołu SSH. Aby uzyskać więcej informacji, zobacz Dodatkowe informacje.

  2. W wierszu polecenia uruchom następujące polecenie:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip> 
    
  3. Aby wyświetlić listę innych analizatorów, których można użyć do analizowania języka DAG w usłudze Tez, użyj następującego polecenia:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar
    

    Jako pierwszy argument należy podać przykładowy program.

    Prawidłowe nazwy programów to:

    • ContainerReuseAnalyzer: drukowanie szczegółów ponownego użycia kontenera w grupie DAG
    • CriticalPath: Znajdowanie ścieżki krytycznej grupy daG
    • LocalityAnalyzer: drukowanie szczegółów dotyczących lokalizacji w grupie DAG
    • ShuffleTimeAnalyzer: analizowanie szczegółów czasu mieszania w daG
    • SkewAnalyzer: analizowanie szczegółów niesymetryczności w daG
    • SlowNodeAnalyzer: szczegóły węzła drukowania w grupie DAG
    • SlowTaskIdentifier: drukowanie szczegółów wolnych zadań w grupie DAG
    • SlowestVertexAnalyzer: Drukowanie najwolniejszych szczegółów wierzchołka w daG
    • SpillAnalyzer: Drukowanie szczegółów wycieku w daG
    • TaskConcurrencyAnalyzer: drukowanie szczegółów współbieżności zadania w daG
    • VertexLevelCriticalPathAnalyzer: Znajdowanie ścieżki krytycznej na poziomie wierzchołka w grupie DAG

Materiały uzupełniające

Jak mogę pobrać dane tez DAG z klastra?

Kroki umożliwiające rozwiązanie problemów

Istnieją dwa sposoby zbierania danych tez DAG:

  • Za pomocą wiersza polecenia:

    Nawiąż połączenie z klastrem usługi HDInsight przy użyciu protokołu SSH. W wierszu polecenia wpisz następujące polecenie:

    hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
    
  • Użyj widoku Ambari Tez:

    1. Przejdź do pozycji Ambari.
    2. Przejdź do widoku Tez (pod ikoną kafelków w prawym górnym rogu).
    3. Wybierz grupę DAG, którą chcesz wyświetlić.
    4. Wybierz pozycję Pobierz dane.

Materiały uzupełniające

Nawiązywanie połączenia z klastrem usługi HDInsight przy użyciu protokołu SSH

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.