Problemen met Apache Hive oplossen met behulp van Azure HDInsight
Meer informatie over de belangrijkste vragen en hun oplossingen bij het werken met Apache Hive-nettoladingen in Apache Ambari.
Hoe kan ik een Hive-metastore exporteren en importeren in een ander cluster?
Stappen voor het oplossen
Maak verbinding met het HDInsight-cluster met behulp van een SSH-client (Secure Shell). Zie Aanvullende leesinformatie voor meer informatie.
Voer de volgende opdracht uit op het HDInsight-cluster waaruit u de metastore wilt exporteren:
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
Met deze opdracht wordt een bestand met de naam allatables.sql gegenereerd.
Kopieer het bestand alltables.sql naar het nieuwe HDInsight-cluster en voer vervolgens de volgende opdracht uit:
hive -f alltables.sql
Bij de code in de oplossingsstappen wordt ervan uitgegaan dat gegevenspaden in het nieuwe cluster hetzelfde zijn als de gegevenspaden op het oude cluster. Als de gegevenspaden verschillen, kunt u het gegenereerde alltables.sql
bestand handmatig bewerken om eventuele wijzigingen weer te geven.
Meer artikelen
Hoe kan ik Hive-logboeken in een cluster zoeken?
Stappen voor het oplossen
Maak verbinding met het HDInsight-cluster met behulp van SSH. Zie Aanvullende leesinformatie voor meer informatie.
Gebruik de volgende opdracht om hive-clientlogboeken weer te geven:
/tmp/<username>/hive.log
Gebruik de volgende opdracht om Hive-metastore-logboeken weer te geven:
/var/log/hive/hivemetastore.log
Gebruik de volgende opdracht om Hive-serverlogboeken weer te geven:
/var/log/hive/hiveserver2.log
Meer artikelen
Hoe kan ik de Hive-shell met specifieke configuraties op een cluster starten?
Stappen voor het oplossen
Geef een configuratiesleutel-waardepaar op wanneer u de Hive-shell start. Zie Aanvullende leesinformatie voor meer informatie.
hive -hiveconf a=b
Als u alle effectieve configuraties in Hive Shell wilt weergeven, gebruikt u de volgende opdracht:
hive> set;
Gebruik bijvoorbeeld de volgende opdracht om hive-shell te starten met logboekregistratie voor foutopsporing ingeschakeld op de console:
hive -hiveconf hive.root.logger=ALL,console
Meer artikelen
Hoe kan ik Apache Tez DAG-gegevens analyseren op een clusterkritiek pad?
Stappen voor het oplossen
Als u een Apache Tez gerichte acyclische grafiek (DAG) wilt analyseren in een clusterkritieke grafiek, maakt u verbinding met het HDInsight-cluster met behulp van SSH. Zie Aanvullende leesinformatie voor meer informatie.
Voer de volgende opdracht uit op een opdrachtprompt:
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip>
Als u andere analyses wilt weergeven die kunnen worden gebruikt om Tez DAG te analyseren, gebruikt u de volgende opdracht:
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar
U moet een voorbeeldprogramma opgeven als het eerste argument.
Geldige programmanamen zijn:
- ContainerReuseAnalyzer: Details van het opnieuw gebruiken van containers afdrukken in een DAG
- CriticalPath: het kritieke pad van een DAG vinden
- LocalityAnalyzer: Details van afdruklocatie in een DAG
- ShuffleTimeAnalyzer: De details van de willekeurige tijd in een DAG analyseren
- ScheefheidAnalyzer: Analyseer de scheefheidsgegevens in een DAG
- SlowNodeAnalyzer: Details van knooppunt afdrukken in een DAG
- SlowTaskIdentifier: trage taakdetails afdrukken in een DAG
- SlowestVertexAnalyzer: Langzaamste hoekpuntdetails afdrukken in een DAG
- SpillAnalyzer: Details van overloop afdrukken in een DAG
- TaskConcurrencyAnalyzer: de details van de gelijktijdigheid van de taak afdrukken in een DAG
- VertexLevelCriticalPathAnalyzer: Zoek het kritieke pad op hoekpuntniveau in een DAG
Meer artikelen
Hoe kan ik Tez DAG-gegevens downloaden uit een cluster?
Stappen voor het oplossen
Er zijn twee manieren om de Tez DAG-gegevens te verzamelen:
Vanaf de opdrachtregel:
Maak verbinding met het HDInsight-cluster met behulp van SSH. Voer de volgende opdracht uit vanaf de opdrachtregel:
hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
Gebruik de Ambari Tez-weergave:
- Ga naar Ambari.
- Ga naar de Tez-weergave (onder het tegelpictogram in de rechterbovenhoek).
- Selecteer de DAG die u wilt weergeven.
- Selecteer Gegevens downloaden.
Meer artikelen
Verbinding maken met een HDInsight-cluster met behulp van SSH
Volgende stappen
Als u uw probleem niet hebt gezien of uw probleem niet kunt oplossen, gaat u naar een van de volgende kanalen voor meer ondersteuning:
Krijg antwoorden van Azure-experts via de ondersteuning van De Azure-community.
Maak verbinding met @AzureSupport : het officiƫle Microsoft Azure-account voor het verbeteren van de klantervaring. De Azure-community verbinden met de juiste resources: antwoorden, ondersteuning en experts.
Als u meer hulp nodig hebt, kunt u een ondersteuningsaanvraag indienen via Azure Portal. Selecteer Ondersteuning in de menubalk of open de Help + ondersteuningshub . Raadpleeg hoe u een ondersteuning voor Azure aanvraag maakt voor meer informatie. Toegang tot abonnementsbeheer en factuurbeheer is in uw Microsoft Azure-abonnement inbegrepen, en technische ondersteuning wordt verstrekt via een van de Azure-ondersteuningsplannen.