Dela via


Felsök Apache Hive med Azure HDInsight

Lär dig mer om de viktigaste frågorna och deras lösningar när du arbetar med Apache Hive-nyttolaster i Apache Ambari.

Hur gör jag för att exportera ett Hive-metaarkiv och importera det till ett annat kluster?

Steg

  1. Anslut till HDInsight-klustret med hjälp av en SSH-klient (Secure Shell). Mer information finns i Ytterligare läsning.

  2. Kör följande kommando i HDInsight-klustret som du vill exportera metaarkivet från:

    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
    

    Det här kommandot genererar en fil med namnet allatables.sql.

  3. Kopiera filen alltables.sql till det nya HDInsight-klustret och kör sedan följande kommando:

    hive -f alltables.sql
    

Koden i lösningsstegen förutsätter att datasökvägarna i det nya klustret är desamma som datasökvägarna i det gamla klustret. Om datasökvägarna skiljer sig åt kan du redigera den genererade alltables.sql filen manuellt för att återspegla eventuella ändringar.

Mer att läsa

Hur gör jag för att hitta Hive-loggar i ett kluster?

Steg

  1. Anslut till HDInsight-klustret med hjälp av SSH. Mer information finns i Ytterligare läsning.

  2. Om du vill visa Hive-klientloggar använder du följande kommando:

    /tmp/<username>/hive.log
    
  3. Om du vill visa Hive-metaarkivloggar använder du följande kommando:

    /var/log/hive/hivemetastore.log
    
  4. Om du vill visa Hive-serverloggar använder du följande kommando:

    /var/log/hive/hiveserver2.log
    

Mer att läsa

Hur gör jag för att starta Hive-gränssnittet med specifika konfigurationer i ett kluster?

Steg

  1. Ange ett nyckel/värde-par för konfiguration när du startar Hive-gränssnittet. Mer information finns i Ytterligare läsning.

    hive -hiveconf a=b
    
  2. Om du vill visa en lista över alla effektiva konfigurationer i Hive Shell använder du följande kommando:

    hive> set;
    

    Använd till exempel följande kommando för att starta Hive-gränssnittet med felsökningsloggning aktiverat i konsolen:

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

Mer att läsa

Hur gör jag för att analysera Apache Tez DAG-data på en klusterkritisk väg?

Steg

  1. Om du vill analysera en Apache Tez-riktad acyklisk graf (DAG) i ett klusterkritiskt diagram ansluter du till HDInsight-klustret med hjälp av SSH. Mer information finns i Ytterligare läsning.

  2. Kör följande kommando i en kommandotolk:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip> 
    
  3. Om du vill visa en lista över andra analysverktyg som kan användas för att analysera Tez DAG använder du följande kommando:

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

    Du måste ange ett exempelprogram som det första argumentet.

    Giltiga programnamn är:

    • ContainerReuseAnalyzer: Skriv ut information om återanvändning av containrar i en DAG
    • CriticalPath: Hitta den kritiska sökvägen för en DAG
    • LocalityAnalyzer: Skriv ut lokalitetsinformation i en DAG
    • ShuffleTimeAnalyzer: Analysera information om shuffle-tid i en DAG
    • SkewAnalyzer: Analysera snedställningsinformationen i en DAG
    • SlowNodeAnalyzer: Skriv ut nodinformation i en DAG
    • SlowTaskIdentifier: Skriv ut information om långsamma uppgifter i en DAG
    • SlowestVertexAnalyzer: Skriv ut långsammaste hörninformation i en DAG
    • SpillAnalyzer: Skriv ut spillinformation i en DAG
    • TaskConcurrencyAnalyzer: Skriv ut uppgifter om samtidighet i en DAG
    • VertexLevelCriticalPathAnalyzer: Hitta den kritiska sökvägen på hörnnivå i en DAG

Mer att läsa

Hur gör jag för att ladda ned Tez DAG-data från ett kluster?

Steg

Det finns två sätt att samla in Tez DAG-data:

  • Från kommandoraden:

    Anslut till HDInsight-klustret med hjälp av SSH. Kör följande kommando vid kommandotolken:

    hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
    
  • Använd vyn Ambari Tez:

    1. Gå till Ambari.
    2. Gå till Tez-vyn (under ikonen paneler i det övre högra hörnet).
    3. Välj den DAG som du vill visa.
    4. Välj Ladda ned data.

Mer att läsa

Ansluta till ett HDInsight-kluster med hjälp av SSH

Nästa steg

Om du inte ser problemet eller inte kan lösa problemet går du till någon av följande kanaler för mer support:

  • Få svar från Azure-experter via Azure Community Support.

  • Anslut med @AzureSupport – det officiella Microsoft Azure-kontot för att förbättra kundupplevelsen. Ansluta Azure-communityn till rätt resurser: svar, support och experter.

  • Om du behöver mer hjälp kan du skicka en supportbegäran från Azure Portal. Välj Support i menyraden eller öppna hubben Hjälp + support . Mer detaljerad information finns i Skapa en Azure Support begäran. Tillgång till support för prenumerationshantering och fakturering ingår i din Microsoft Azure-prenumeration och teknisk support ges via ett supportavtal för Azure.