Résolution de problèmes Apache Hive à l’aide d’Azure HDInsight
Découvrez les principaux problèmes rencontrés lors de l’utilisation de charges utiles Apache Hive dans Apache Ambari, et leur résolution.
Comment exporter un metastore Hive et l’importer dans un autre cluster ?
Étapes de résolution
Connectez-vous au cluster HDInsight à l’aide d’un client Secure Shell (SSH). Pour plus d’informations, consultez la section Documentation supplémentaire.
Exécutez la commande suivante sur le cluster HDInsight à partir duquel vous souhaitez exporter le 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
Cette commande génère un fichier nommé alltables.sql.
Copiez le fichier alltables.sql dans le nouveau cluster HDInsight et exécutez la commande suivante :
hive -f alltables.sql
Le code présenté dans les étapes de résolution suppose que les chemins de données du nouveau cluster sont les mêmes que sur l’ancien cluster. Si les chemins d’accès aux données sont différents, vous pouvez modifier manuellement le fichier alltables.sql
généré pour refléter ces modifications.
Documentation supplémentaire
Comment localiser les journaux d’activité Hive dans un cluster ?
Étapes de résolution
Connectez-vous au cluster HDInsight à l’aide de SSH. Pour plus d’informations, consultez la section Documentation supplémentaire.
Pour afficher les journaux d’activité du client Hive, utilisez la commande suivante :
/tmp/<username>/hive.log
Pour afficher les journaux d’activité du metastore Hive, utilisez la commande suivante :
/var/log/hive/hivemetastore.log
Pour afficher les journaux d’activité du serveur Hive, utilisez la commande suivante :
/var/log/hive/hiveserver2.log
Documentation supplémentaire
Comment lancer l’interpréteur de commandes Hive avec des configurations spécifiques dans un cluster ?
Étapes de résolution
Spécifiez une paire clé-valeur de configuration lorsque vous démarrez l’interpréteur de commandes Hive. Pour plus d’informations, consultez la section Documentation supplémentaire.
hive -hiveconf a=b
Pour répertorier toutes les configurations actives sur l’interpréteur de commandes Hive, utilisez la commande suivante :
hive> set;
Par exemple, utilisez la commande suivante pour démarrer l’interpréteur de commandes Hive avec l’option d’enregistrement de débogage activée sur la console :
hive -hiveconf hive.root.logger=ALL,console
Documentation supplémentaire
- Hive configuration properties (Propriétés de configuration Hive, en anglais)
Comment analyser les données de DAG Apache Tez dans un chemin critique de cluster ?
Étapes de résolution
Pour analyser un graphe orienté acyclique (DAG) Apache Tez sur un chemin critique de cluster, connectez-vous au cluster HDInsight à l’aide de SSH. Pour plus d’informations, consultez la section Documentation supplémentaire.
Depuis une invite de commandes, exécutez la commande suivante :
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip>
Pour obtenir la liste des autres analyseurs pouvant être utilisés pour analyser les informations de DAG Tez, utilisez la commande suivante :
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar
Vous devez fournir un exemple de programme comme premier argument.
Noms de programme valides :
- ContainerReuseAnalyzer: Imprimer les détails de réutilisation du conteneur dans un DAG
- CriticalPath: Trouver le chemin critique d’un DAG
- LocalityAnalyzer: Imprimer les détails de localité dans un DAG
- ShuffleTimeAnalyzer: Analyser les détails de délai de lecture aléatoire dans un DAG
- SkewAnalyzer: Analyser les détails d’asymétrie dans un DAG
- SlowNodeAnalyzer: Imprimer les détails des nœuds dans un DAG
- SlowTaskIdentifier: Imprimer les détails des tâches lentes dans un DAG
- SlowestVertexAnalyzer: Imprimer les détails des données vertex les plus lentes dans un DAG
- SpillAnalyzer: Imprimer les détails de dépassement dans un DAG
- TaskConcurrencyAnalyzer: Imprimer les détails de simultanéité des tâches dans un DAG
- VertexLevelCriticalPathAnalyzer: Trouver le chemin critique au niveau des données vertex dans un DAG
Documentation supplémentaire
Comment télécharger des données de DAG Tez à partir d’un cluster ?
Étapes de résolution
Il existe deux façons de collecter les données de DAG Tez :
Depuis la ligne de commande :
Connectez-vous au cluster HDInsight à l’aide de SSH. À l'invite de commandes, exécutez la commande suivante :
hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
Utilisez la vue Tez dans Ambari :
- Accédez à Ambari.
- Accédez à la vue Tez (sous l’icône de vignettes dans le coin supérieur droit).
- Sélectionnez le DAG à afficher.
- Select Download data (Télécharger les données).
Documentation supplémentaire
Se connecter à HDInsight (Hadoop) à l’aide de SSH
Étapes suivantes
Si votre problème ne figure pas dans cet article ou si vous ne parvenez pas à le résoudre, utilisez un des canaux suivants pour obtenir de l’aide :
Obtenez des réponses de la part d’experts Azure en faisant appel au Support de la communauté Azure.
Connectez-vous à @AzureSupport, le compte Microsoft Azure officiel pour améliorer l’expérience client. Connexion de la communauté Azure aux ressources appropriées : réponses, support technique et experts.
Si vous avez besoin d’une aide supplémentaire, vous pouvez envoyer une requête de support à partir du Portail Microsoft Azure. Sélectionnez Support dans la barre de menus, ou ouvrez le hub Aide + Support. Pour plus d’informations, consultez Création d’une demande de support Azure. L’accès au support relatif à la gestion et à la facturation des abonnements est inclus avec votre abonnement Microsoft Azure. En outre, le support technique est fourni avec l’un des plans de support Azure.