Risolvere i problemi di Hive tramite Azure HDInsightTroubleshoot Hive by using Azure HDInsight

Informazioni sui problemi principali che possono verificarsi quando si usano i payload di Apache Hive in Apache Ambari unitamente alle risoluzioni.Learn about the top questions and their resolutions when working with Apache Hive payloads in Apache Ambari.

Come si esporta un metastore Hive e lo si importa in un altro cluster?How do I export a Hive metastore and import it on another cluster?

Procedura per la risoluzioneResolution steps

  1. Connettersi al cluster HDInsight con un client Secure Shell (SSH).Connect to the HDInsight cluster by using a Secure Shell (SSH) client. Per altre informazioni, vedere Informazioni aggiuntive.For more information, see Additional reading.

  2. Eseguire il comando seguente nel cluster HDInsight da cui si vuole esportare il metastore:Run the following command on the HDInsight cluster from which you want to export the metastore:

    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
    

    Questo comando genera un file denominato alltables.sql.This command generates a file named allatables.sql.

  3. Copiare il file alltables.sql nel nuovo cluster HDInsight e quindi eseguire il comando seguente:Copy the file alltables.sql to the new HDInsight cluster, and then run the following command:

    hive -f alltables.sql
    

Il codice nella procedura di risoluzione presuppone che i percorsi di dati nel nuovo cluster siano uguali ai percorsi di dati nel cluster precedente.The code in the resolution steps assumes that data paths on the new cluster are the same as the data paths on the old cluster. Se i percorsi di dati sono diversi, è possibile modificare manualmente il file alltables.sql generato per rispecchiare eventuali modifiche.If the data paths are different, you can manually edit the generated alltables.sql file to reflect any changes.

Informazioni aggiuntiveAdditional reading

Come si individuano i log Hive in un cluster?How do I locate Hive logs on a cluster?

Procedura per la risoluzioneResolution steps

  1. Connettersi al cluster HDInsight usando SSH.Connect to the HDInsight cluster by using SSH. Per altre informazioni, vedere Informazioni aggiuntive.For more information, see Additional reading.

  2. Per visualizzare i log del client Hive, usare il comando seguente:To view Hive client logs, use the following command:

    /tmp/<username>/hive.log 
    
  3. Per visualizzare i log del metastore Hive, usare il comando seguente:To view Hive metastore logs, use the following command:

    /var/log/hive/hivemetastore.log 
    
  4. Per visualizzare i log di Hiveserver, usare il comando seguente:To view Hiveserver logs, use the following command:

    /var/log/hive/hiveserver2.log 
    

Informazioni aggiuntiveAdditional reading

Come si avvia la shell di Hive con configurazioni specifiche in un cluster?How do I launch the Hive shell with specific configurations on a cluster?

Procedura per la risoluzioneResolution steps

  1. Specificare una coppia chiave-valore di configurazione all'avvio della shell di Hive.Specify a configuration key-value pair when you start the Hive shell. Per altre informazioni, vedere Informazioni aggiuntive.For more information, see Additional reading.

    hive -hiveconf a=b 
    
  2. Per elencare tutte le configurazioni valide nella shell di Hive, usare il comando seguente:To list all effective configurations on Hive shell, use the following command:

    hive> set;
    

    Ad esempio, usare il comando seguente per avviare la shell di Hive con la registrazione debug abilitata nella console:For example, use the following command to start Hive shell with debug logging enabled on the console:

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

Informazioni aggiuntiveAdditional reading

Come si analizzano i dati di un grafo aciclico diretto di Tez in un percorso critico del cluster?How do I analyze Tez DAG data on a cluster-critical path?

Procedura per la risoluzioneResolution steps

  1. Per analizzare i dati di un grafo aciclico diretto di Apache Tez in un grafo critico del cluster, connettersi al cluster HDInsight usando SSH.To analyze an Apache Tez directed acyclic graph (DAG) on a cluster-critical graph, connect to the HDInsight cluster by using SSH. Per altre informazioni, vedere Informazioni aggiuntive.For more information, see Additional reading.

  2. Al prompt dei comandi, eseguire il seguente comando:At a command prompt, run the following command:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip> 
    
  3. Per elencare altri analizzatori che possono essere usati per analizzare i dati DAG di Tez, usare il comando seguente:To list other analyzers that can be used to analyze Tez DAG, use the following command:

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

    È necessario fornire un programma di esempio come primo argomento.You must provide an example program as the first argument.

    I nomi di programma validi includono:Valid program names include:

    • ContainerReuseAnalyzer: stampare i dettagli di riutilizzo dei contenitori in un grafo aciclico direttoContainerReuseAnalyzer: Print container reuse details in a DAG
    • CriticalPath: trovare il percorso critico di un grafo aciclico direttoCriticalPath: Find the critical path of a DAG
    • LocalityAnalyzer: stampare i dettagli della località in un grafo aciclico direttoLocalityAnalyzer: Print locality details in a DAG
    • ShuffleTimeAnalyzer: analizzare i dettagli degli orari di riproduzione casuale in un grafo aciclico direttoShuffleTimeAnalyzer: Analyze the shuffle time details in a DAG
    • SkewAnalyzer: analizzare i dettagli dell'asimmetria in un grafo aciclico direttoSkewAnalyzer: Analyze the skew details in a DAG
    • SlowNodeAnalyzer: stampare i dettagli del nodo in un grafo aciclico direttoSlowNodeAnalyzer: Print node details in a DAG
    • SlowTaskIdentifier: stampare i dettagli sulle attività lente in un grafo aciclico direttoSlowTaskIdentifier: Print slow task details in a DAG
    • SlowestVertexAnalyzer: stampare i dettagli relativi ai vertici più lenti in un grafo aciclico direttoSlowestVertexAnalyzer: Print slowest vertex details in a DAG
    • SpillAnalyzer: stampare i dettagli relativi all'espansione in un grafo aciclico direttoSpillAnalyzer: Print spill details in a DAG
    • TaskConcurrencyAnalyzer: stampare i dettagli relativi alla concorrenza delle attività in un grafo aciclico direttoTaskConcurrencyAnalyzer: Print the task concurrency details in a DAG
    • VertexLevelCriticalPathAnalyzer: trovare il percorso critico a livello di vertice in un grafo aciclico direttoVertexLevelCriticalPathAnalyzer: Find the critical path at vertex level in a DAG

Informazioni aggiuntiveAdditional reading

Come si scaricano i dati di un grafo aciclico diretto di Tez da un cluster?How do I download Tez DAG data from a cluster?

Procedura per la risoluzioneResolution steps

Esistono due modi per raccogliere i dati di un grafo aciclico diretto di Tez:There are two ways to collect the Tez DAG data:

  • Dalla riga di comando:From the command line:

    Connettersi al cluster HDInsight usando SSH.Connect to the HDInsight cluster by using SSH. Nel prompt dei comandi eseguire il comando seguente:At the command prompt, run the following command:

    hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId> 
    
  • Usare la visualizzazione Tez di Ambari:Use the Ambari Tez view:

    1. Passare ad Ambari.Go to Ambari.
    2. Passare alla visualizzazione Tez, disponibile sotto l'icona dei riquadri, nell'angolo superiore destro.Go to Tez view (under the tiles icon in the upper-right corner).
    3. Selezionare il grafo aciclico diretto da visualizzare.Select the DAG you want to view.
    4. Selezionare Download data (Scarica dati).Select Download data.

Informazioni aggiuntiveAdditional reading

Connettersi a un cluster HDInsight usando SSHConnect to an HDInsight cluster by using SSH

Vedere ancheSee Also

Risolvere i problemi usando Azure HDInsightTroubleshoot by Using Azure HDInsight