Solución de problemas de Apache Hive mediante Azure HDInsight

Obtenga información sobre las principales preguntas y sus soluciones al trabajar con cargas útiles de Apache Hive en Apache Ambari.

¿Cómo se exporta una instancia de Hive Metastore y la importo en otro clúster?

Pasos de resolución

  1. Conéctese al clúster de HDInsight con un cliente Secure Shell (SSH). Para más información, consulte Lecturas adicionales.

  2. Ejecute el siguiente comando en el clúster de HDInsight desde donde desea exportar 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
    

    Este comando genera un archivo denominado allatables.sql.

  3. Copie el archivo alltables.sql en el nuevo clúster de HDInsight y ejecute el siguiente comando:

    hive -f alltables.sql
    

El código de los pasos de resolución asume que las rutas de acceso de datos en el nuevo clúster son las mismos que las rutas de acceso de datos en el clúster antiguo. Si las rutas de acceso de datos son diferentes, puede editar manualmente el archivo alltables.sql generado para reflejar cualquier cambio.

Lecturas adicionales

¿Cómo se buscan registros de Hive en un clúster?

Pasos de resolución

  1. Conéctese al clúster de HDInsight con SSH. Para más información, consulte Lecturas adicionales.

  2. Para ver los registros de cliente de Hive, use el comando siguiente:

    /tmp/<username>/hive.log
    
  3. Para ver los registros de Hive Metastore, use el comando siguiente:

    /var/log/hive/hivemetastore.log
    
  4. Para ver los registros de HiveServer, use el comando siguiente:

    /var/log/hive/hiveserver2.log
    

Lecturas adicionales

¿Cómo se inicia el shell de Hive con configuraciones específicas en un clúster?

Pasos de resolución

  1. Especifique un par clave-valor de configuración cuando inicie el shell de Hive. Para más información, consulte Lecturas adicionales.

    hive -hiveconf a=b
    
  2. Para enumerar todas las configuraciones efectivas en el shell de Hive, use el siguiente comando:

    hive> set;
    

    Por ejemplo, utilice el siguiente comando para iniciar el shell de Hive con el registro de depuración habilitado en la consola:

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

Lecturas adicionales

¿Cómo se analizan datos de Apache Tez DAG en una ruta crítica de clúster?

Pasos de resolución

  1. Para analizar un gráfico acíclico dirigido (DAG) de Apache Tez en un grafo crítico para el clúster, conéctese al clúster de HDInsight con SSH. Para más información, consulte Lecturas adicionales.

  2. En el símbolo del sistema, ejecute el siguiente comando:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip> 
    
  3. Para enumerar otros analizadores que pueden usarse para analizar DAG de Tez, utilice el comando siguiente:

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

    Debe proporcionar un programa de ejemplo como el primer argumento.

    Los nombres de programa válidos incluyen:

    • ContainerReuseAnalyzer: imprima los detalles de la reutilización del contenedor en un DAG.
    • CriticalPath: busque la ruta crítica de un DAG.
    • LocalityAnalyzer: imprima los detalles de localidad en un DAG.
    • ShuffleTimeAnalyzer: analice los detalles de tiempo de orden aleatorio en un DAG.
    • SkewAnalyzer: analice los detalles de sesgo en un DAG.
    • SlowNodeAnalyzer: imprima los detalles del nodo en un DAG.
    • SlowTaskIdentifier: imprima los detalles de una tarea lenta en un DAG.
    • SlowestVertexAnalyzer: imprima los detalles de los vértices más lentos en un DAG.
    • SpillAnalyzer: imprima los detalles de desbordamiento en un DAG.
    • TaskConcurrencyAnalyzer: imprima los detalles de la simultaneidad de tareas en un DAG.
    • VertexLevelCriticalPathAnalyzer: busque la ruta crítica en el nivel de vértices en un DAG.

Lecturas adicionales

¿Cómo se descargan datos de Tez DAG desde un clúster?

Pasos de resolución

Hay dos maneras de recopilar los datos de DAG de Tez.

  • Desde la línea de comandos:

    Conéctese al clúster de HDInsight con SSH. Escriba el siguiente comando en el símbolo del sistema:

    hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
    
  • Use la vista de Tez de Ambari:

    1. Vaya a Ambari.
    2. Vaya a la vista de Tez (en el icono de la esquina superior derecha).
    3. Seleccione el DAG que desea ver.
    4. Seleccione Descargar datos.

Lecturas adicionales

Conexión a través de SSH con HDInsight (Hadoop)

Pasos siguientes

Si su problema no aparece o es incapaz de resolverlo, visite uno de nuestros canales para obtener ayuda adicional:

  • Obtenga respuestas de expertos de Azure mediante el soporte técnico de la comunidad de Azure.

  • Póngase en contacto con @AzureSupport, la cuenta oficial de Microsoft Azure para mejorar la experiencia del cliente. Esta cuenta pone en contacto a la comunidad de Azure con los recursos adecuados: respuestas, soporte técnico y expertos.

  • Si necesita más ayuda, puede enviar una solicitud de soporte técnico desde Azure Portal. Seleccione Soporte técnico en la barra de menús o abra la central Ayuda + soporte técnico. Para obtener información más detallada, revise Creación de una solicitud de soporte técnico de Azure. La suscripción a Microsoft Azure incluye acceso al soporte técnico para facturación y administración de suscripciones. El soporte técnico se proporciona a través de uno de los planes de soporte técnico de Azure.