¿Cómo puedo usar los registros para solucionar problemas con las consultas de Hive en Amazon EMR?

4 minutos de lectura
0

Tengo problemas con las consultas de Apache Hive en Amazon EMR. Quiero recopilar registros para poder solucionar estos problemas.

Descripción breve

Amazon EMR admite los siguientes métodos para trabajar con Hive. Los pasos para la solución de problemas varían según el método que utilice:

Resolución

Shell de Hive

Los registros de Hive se almacenan en los siguientes directorios del nodo maestro del clúster. Para obtener más información, consulte Ver archivos de registro en el nodo maestro.

  • /mnt/var/log/hive/
  • /mnt/var/log/hive/user/

Según el lugar donde haya enviado su consulta de Hive, sus registros de consultas se registran en diferentes ubicaciones en /mnt/var/hive/ del nodo maestro de Amazon EMR. Los registros de esta ubicación también se envían al Amazon S3 LogUri que configuró al crear el clúster de Amazon EMR.

Ejemplo:

s3://example-location/example-cluster-id/node/example-instance-id/applications/hive

Por ejemplo, si ejecuta consultas desde el shell de Hive como hadoop (el usuario predeterminado), los errores de consulta se registran en el siguiente directorio:

[hadoop@ip-172-xx-xx-x ~]$ cd /mnt/var/log/hive/user/hadoop
[hadoop@ip-172-xx-xx-x hadoop]$ tail -20 hive.log

Hue, JDBC u ODBC

HiveServer2 permite a los clientes, como Beeline, JDBC y ODBC (a través de SQL Workbench/J, por ejemplo) ejecutar consultas en Hive.

Para obtener más información sobre los clientes compatibles con HiveServer2, consulte clientes HiveServer2 en el sitio web de Confluence.

Compruebe si hay errores en los registros de hive-server2 en las siguientes condiciones:

  • Debe solucionar una consulta fallida enviada por uno de estos clientes.
  • Tiene problemas para conectarse a Hive desde clientes que utilizan controladores JDBC u ODBC.
[hadoop@ip-172-xx-xx-x ~]$ cd /mnt/var/log/hive/
[hadoop@ip-172-xx-xx-xxx hive]$ ls -ltr
total 52
-rw-r--r-- 1 hive hive 42 May 25 19:29 hive-server2.out
drwxrwxrwt 4 root root 30 May 25 19:29 user
-rw-r--r-- 1 hive hive 49075 May 25 19:29 hive-server2.log

[hadoop@ip-172-31-33-9 hive]$ tail -20 hive-server2.log

Tenga en cuenta que, de forma predeterminada, todas las consultas de Hive en Amazon EMR utilizan el motor TEZ. La consulta puede activar una aplicación YARN. Para solucionar el error de una aplicación YARN, consulte los registros del contenedor YARN. Para obtener más información, consulte la sección Historial de aplicaciones YARN de este artículo.

Pasos en Amazon EMR

Compruebe los registros de pasos, que se encuentran en /var/log/hadoop/steps/. Por ejemplo:

[hadoop@ip-172-xx-xx-x s-3C4CZ9G05FEAX]$cd /var/log/hadoop/steps/s-3C4CZ9G05FEAX
[hadoop@ip-172-xx-xx-x s-3C4CZ9G05FEAX]$ ls -ltr
total 12
-rw-rw-r-- 1 hadoop hadoop 0 May 25 21:09 syslog
-rw-rw-r-- 1 hadoop hadoop 1304 May 25 21:09 stdout
-rw-rw-r-- 1 hadoop hadoop 213 May 25 21:09 stderr
-rw-rw-r-- 1 hadoop hadoop 2589 May 25 21:09 controller

Historial de aplicaciones YARN

La forma más sencilla de ver y supervisar los detalles de la aplicación YARN es abrir primero la consola de Amazon EMR.A continuación, consulte el Historial de aplicaciones de la página de detalles del clúster. Para obtener más información, consulte Ver el historial de aplicaciones.

Para ver si se han producido errores en una aplicación de Tez o MapReduce que se ejecuta en segundo plano al ejecutar una consulta de Hive, consulte los registros de la aplicación YARN en Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte Ver archivos de registro archivados en Amazon S3. Por ejemplo:

$ aws s3 ls s3://aws-logs-223377617334-us-west-2/elasticmapreduce/j-3MCDUQO2MWNJ5/
                           PRE containers/
                           PRE node/
                           PRE steps/
$ aws s3 ls s3://aws-logs-223377617334-us-west-2/elasticmapreduce/j-3MCDUQO2MWNJ5/node/i-045d100a1fcd13ef2/
                           PRE applications/
                           PRE bootstrap-actions/
                           PRE daemons/
                           PRE provision-node/
                           PRE setup-devices/
$ aws s3 ls s3://aws-logs-223377617334-us-west-2/elasticmapreduce/j-3MCDUQO2MWNJ5/containers/application_123456789_0001/container_1527279117205_0001_01_000001/
2020-10-25 15:46:04 842 stdout.gz
2020-10-25 15:46:04 4089 syslog.gz

Nota: Si recibe errores al ejecutar los comandos de la interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de utilizar la versión más reciente de la AWS CLI.


Información relacionada

¿Cómo puedo resolver las excepciones de espacio de almacenamiento de Hive Java «OutOfMemoryError» en Amazon EMR que se producen cuando Hive genera los resultados de la consulta?

Errores de clúster de Hive

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años