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 rozwiązania
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.
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.
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 programu Hive w klastrze?
Kroki rozwiązania
Nawiąż połączenie z klastrem usługi HDInsight przy użyciu protokołu SSH. Aby uzyskać więcej informacji, zobacz Dodatkowe informacje.
Aby wyświetlić dzienniki klienta programu Hive, użyj następującego polecenia:
/tmp/<username>/hive.log
Aby wyświetlić dzienniki magazynu metadanych Hive, użyj następującego polecenia:
/var/log/hive/hivemetastore.log
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 rozwiązania
Określ parę klucz-wartość konfiguracji podczas uruchamiania powłoki Programu Hive. Aby uzyskać więcej informacji, zobacz Dodatkowe informacje.
hive -hiveconf a=b
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ę analizować dane daG platformy Apache Tez na ścieżce krytycznej dla klastra?
Kroki rozwiązania
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.
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>
Aby wyświetlić listę innych analizatorów, których można użyć do analizowania grupy dag aplikacji 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 grupie DAG
- SkewAnalyzer: analizowanie szczegółów niesymetryczności w grupie DAG
- SlowNodeAnalyzer: wyświetlanie szczegółów węzła w grupie DAG
- SlowTaskIdentifier: drukowanie szczegółów wolnych zadań w grupie DAG
- SlowestVertexAnalyzer: Drukowanie najwolniejszych szczegółów wierzchołków w daG
- SpillAnalyzer: Drukowanie szczegółów wycieku w dag
- TaskConcurrencyAnalyzer: wyświetlanie szczegółów współbieżności zadania w grupie 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 rozwiązania
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:
- Przejdź do narzędzia Ambari.
- Przejdź do widoku Tez (pod ikoną kafelków w prawym górnym rogu).
- Wybierz grupę DAG, którą chcesz wyświetlić.
- 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 nie widzisz problemu lub nie możesz go rozwiązać, odwiedź jeden z następujących kanałów, aby uzyskać dodatkową pomoc techniczną:
Uzyskaj odpowiedzi od ekspertów platformy Azure za pośrednictwem pomocy technicznej społeczności platformy Azure.
Połącz się z @AzureSupport — oficjalnym kontem 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 How to create an pomoc techniczna platformy Azure request (Jak utworzyć żądanie pomoc techniczna platformy Azure). Dostęp do pomocy technicznej w zakresie zarządzania subskrypcjami i rozliczeń jest dołączany do subskrypcji platformy Microsoft Azure, a pomoc techniczna jest zapewniana za pośrednictwem jednego z planów pomocy technicznej platformy Azure.