Risolvere i problemi di Apache Hive tramite Azure HDInsight
Informazioni sui problemi principali che possono verificarsi quando si usano i payload di Apache Hive in Apache Ambari unitamente alle risoluzioni.
Come si esporta un metastore Hive e lo si importa in un altro cluster?
Procedura per la risoluzione
Connettersi al cluster HDInsight con un client Secure Shell (SSH). Per altre informazioni, vedere Informazioni aggiuntive.
Eseguire il comando seguente nel cluster HDInsight da cui si vuole esportare il 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.
Copiare il file alltables.sql nel nuovo cluster HDInsight e quindi eseguire il comando seguente:
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. Se i percorsi di dati sono diversi, è possibile modificare manualmente il file alltables.sql
affinché rifletta le eventuali modifiche.
Altre letture
Come si individuano i log Hive in un cluster?
Procedura per la risoluzione
Connettersi al cluster HDInsight usando SSH. Per altre informazioni, vedere Informazioni aggiuntive.
Per visualizzare i log del client Hive, usare il comando seguente:
/tmp/<username>/hive.log
Per visualizzare i log del metastore Hive, usare il comando seguente:
/var/log/hive/hivemetastore.log
Per visualizzare i log del server Hive, usare il comando seguente:
/var/log/hive/hiveserver2.log
Altre letture
Come si avvia la shell di Hive con configurazioni specifiche in un cluster?
Procedura per la risoluzione
Specificare una coppia chiave-valore di configurazione all'avvio della shell di Hive. Per altre informazioni, vedere Informazioni aggiuntive.
hive -hiveconf a=b
Per elencare tutte le configurazioni valide nella shell di Hive, usare il comando seguente:
hive> set;
Ad esempio, usare il comando seguente per avviare la shell di Hive con la registrazione debug abilitata nella console:
hive -hiveconf hive.root.logger=ALL,console
Altre letture
- Hive configuration properties (Proprietà di configurazione di Hive)
Come si analizzano i dati di un grafo aciclico diretto di Apache Tez in un percorso critico del cluster?
Procedura per la risoluzione
Per analizzare i dati di un grafo aciclico diretto di Apache Tez in un grafo critico del cluster, connettersi al cluster HDInsight usando SSH. Per altre informazioni, vedere Informazioni aggiuntive.
Al prompt dei comandi, eseguire il seguente comando:
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip>
Per elencare altri analizzatori che possono essere usati per analizzare i dati DAG di Tez, usare il comando seguente:
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar
È necessario fornire un programma di esempio come primo argomento.
I nomi di programma validi includono:
- ContainerReuseAnalyzer: stampare i dettagli di riutilizzo dei contenitori in un grafo aciclico diretto
- CriticalPath: trovare il percorso critico di un grafo aciclico diretto
- LocalityAnalyzer: stampare i dettagli della località in un grafo aciclico diretto
- ShuffleTimeAnalyzer: analizzare i dettagli degli orari di riproduzione casuale in un grafo aciclico diretto
- SkewAnalyzer: analizzare i dettagli dell'asimmetria in un grafo aciclico diretto
- SlowNodeAnalyzer: stampare i dettagli del nodo in un grafo aciclico diretto
- SlowTaskIdentifier: stampare i dettagli sulle attività lente in un grafo aciclico diretto
- SlowestVertexAnalyzer: stampare i dettagli relativi ai vertici più lenti in un grafo aciclico diretto
- SpillAnalyzer: stampare i dettagli relativi all'espansione in un grafo aciclico diretto
- TaskConcurrencyAnalyzer: stampare i dettagli relativi alla concorrenza delle attività in un grafo aciclico diretto
- VertexLevelCriticalPathAnalyzer: trovare il percorso critico a livello di vertice in un grafo aciclico diretto
Altre letture
Come si scaricano i dati di un grafo aciclico diretto di Tez da un cluster?
Procedura per la risoluzione
Esistono due modi per raccogliere i dati di un grafo aciclico diretto di Tez:
Dalla riga di comando:
Connettersi al cluster HDInsight usando SSH. Al prompt dei comandi eseguire il comando seguente:
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:
- Passare ad Ambari.
- Passare alla visualizzazione Tez, disponibile sotto l'icona dei riquadri, nell'angolo superiore destro.
- Selezionare il grafo aciclico diretto da visualizzare.
- Selezionare Download data (Scarica dati).
Altre letture
Connettersi a un cluster HDInsight usando SSH
Passaggi successivi
Se il problema riscontrato non è presente in questo elenco o se non si riesce a risolverlo, visitare uno dei canali seguenti per ottenere ulteriore assistenza:
Ricevere risposte dagli esperti di Azure tramite la pagina Supporto della community per Azure.
Connettersi con @AzureSupport, l'account ufficiale Microsoft Azure per migliorare l'esperienza del cliente. Mette in contatto la community di Azure con le risorse giuste: risposte, supporto ed esperti.
Se serve ulteriore assistenza, è possibile inviare una richiesta di supporto dal portale di Azure. Selezionare Supporto nella barra dei menu o aprire l'hub Guida e supporto. Per informazioni più dettagliate, vedere Come creare una richiesta di supporto in Azure. L'accesso al supporto per la gestione delle sottoscrizioni e la fatturazione è incluso nella sottoscrizione di Microsoft Azure e il supporto tecnico viene fornito tramite uno dei piani di supporto di Azure.