Amazon EMR에서 Apache Hive 쿼리에 문제가 있습니다. 이러한 문제를 해결할 수 있도록 로그를 수집하려면 어떻게 해야 합니까?

Amazon EMR은 Hive 작업을 위해 다음 메서드를 지원합니다. 문제 해결 단계는 사용하는 메서드에 따라 다릅니다.

Hive 셸

Hive 로그는 Amazon EMR 클러스터의 마스터 노드에서 다음 디렉터리에 저장됩니다. 자세한 내용은 로그 파일 보기를 참조하십시오.

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

모든 쿼리 관련 오류는 /mnt/var/log/hive/user/ 디렉터리에 로깅됩니다. 예를 들어, Hive 셸에서 hadoop(기본 사용자)으로 쿼리를 실행하는 경우 실행하는 쿼리의 오류는 다음 디렉터리에 로깅됩니다.

[hadoop@ip-172-31-33-9 ~]$ cd /mnt/var/log/hive/user/hadoop
[hadoop@ip-172-31-33-9 hadoop]$ tail -20 hive.log

Hive 셸에서 root(sudo)로 쿼리를 실행하는 경우 다음 로그에서 쿼리 관련 오류를 확인합니다.

[hadoop@ip-172-31-33-9 ~]$ cd /mnt/var/log/hive/user/root
[hadoop@ip-172-31-33-9 root]$ tail -20 hive.log

Hue, JDBC 또는 ODBC

HiveServer2에서는 Beeline 또는 SQL Workbench/J와 같은 클라이언트가 Hive에 대해 쿼리를 실행할 수 있습니다. 자세한 내용은 Apache Hive 웹 사이트의 HiveServer2 Overview(HiveServer2 개요)를 참조하십시오. JDBC 또는 ODBC 드라이버를 사용하여 클라이언트에서 Hive에 연결하는 데 문제가 있는 경우 hive-server2 로그에서 오류를 확인합니다.

[hadoop@ip-172-31-33-9 ~]$ cd /mnt/var/log/hive/
[hadoop@ip-172-31-27-169 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

또한 hive-server2 로그를 사용하여 느린 쿼리, HiveServer2 시작 실패, 쿼리 제출 문제 등과 같은 서비스 관련 문제를 해결할 수 있습니다.

Amazon EMR 단계

/var/log/hadoop/steps/에 있는 단계 로그를 확인합니다. 예:

[hadoop@ip-172-31-33-9 s-3C4CZ9G05FEAX]$cd /var/log/hadoop/steps/s-3C4CZ9G05FEAX
[hadoop@ip-172-31-33-9 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

YARN 애플리케이션 이력

YARN 애플리케이션 세부 정보를 보고 모니터링하는 가장 간편한 방법은 Amazon EMR 콘솔을 열고 클러스터 세부 정보 페이지의 Application history(애플리케이션 이력) 탭을 사용하는 것입니다. 자세한 내용은 애플리케이션 이력 보기를 참조하십시오.

Hive 쿼리를 실행할 때 백그라운드에서 시작되는 Tez 또는 MapReduce 애플리케이션에서 오류가 발생했는지 알아보려면 Amazon Simple Storage Service(Amazon S3)에서 YARN 애플리케이션 로그를 확인하십시오. 자세한 내용은 Amazon S3에 아카이브된 로그 파일 보기를 참조하십시오. 예:

$ 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_1527279117205_0001/container_1527279117205_0001_01_000001/
2018-05-25 15:46:04 842 stdout.gz
2018-05-25 15:46:04 4089 syslog.gz

페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2018-10-24