Amazon EMR 로그 파일 보기 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EMR 로그 파일 보기

AmazonEMR과 Hadoop 모두 클러스터의 상태를 보고하는 로그 파일을 생성합니다. 기본적으로 이러한 파일은 /mnt/var/log/ 디렉터리의 프라이머리 노드에 기록됩니다. 클러스터를 시작할 때 구성한 방법에 따라 이러한 로그를 Amazon S3에도 아카이브할 수 있으며 그래픽 디버깅 도구를 통해 볼 수 있습니다.

프라이머리 노드에는 여러 유형의 로그가 기록됩니다. Amazon은 단계, 부트스트랩 작업 및 인스턴스 상태 로그를 EMR 작성합니다. Apache 하둡은 작업 및 작업 시도의 처리를 보고하기 위해 로그를 작성합니다. 하둡도 데몬의 로그를 기록합니다. Hadoop에서 작성한 로그에 대한 자세한 내용은 http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html을 참조하세요.

프라이머리 노드에서 로그 파일 보기

다음 테이블에는 프라이머리 노드에 있는 몇 가지 로그 파일이 나열되어 있습니다.

위치 설명

/emr/instance-controller/log/bootstrap-작업

부트스트랩 작업의 처리 중 작성된 로그입니다.

/mnt/var/log/hadoop-state-pusher

하둡 상태 pusher 프로세스에서 작성된 로그입니다.

/emr/instance-controller/log

인스턴스 컨트롤러 로그입니다.

/emr/instance-state

인스턴스 상태 로그입니다. 여기에는 노드의 CPU, 메모리 상태 및 가비지 수집기 스레드에 대한 정보가 포함됩니다.

/emr/service-nanny

서비스 nanny 프로세스에서 작성된 로그입니다.

/mnt/var/log/application

하둡, Spark 또는 Hive와 같은 애플리케이션에 특정한 로그입니다.

/mnt/var/log/hadoop/steps/N

단계 처리에 대한 정보가 포함된 단계 로그입니다. 의 값은 Amazon에서 stepId 할당한를 N 나타냅니다EMR. 예를 들어, 클러스터에는 s-1234ABCDEFGHs-5678IJKLMNOP라는 두 개의 단계가 있습니다. 첫 번째 단계는 /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/에, 그리고 두 번째 단계는 /mnt/var/log/hadoop/steps/s-5678IJKLMNOP/에 있습니다.

Amazon에서 작성한 단계 로그EMR는 다음과 같습니다.

  • controller - 단계 처리에 대한 정보입니다. 단계를 로드하는 동안 장애가 발생하면 이 로그에서 스택 트레이스를 볼 수 있습니다.

  • syslog - 단계에서 Hadoop 작업 실행을 설명합니다.

  • stderr - 단계를 처리하는 동안 Hadoop의 표준 오류 채널입니다.

  • stdout - 단계를 처리하는 동안 Hadoop의 표준 출력 채널입니다.

AWS CLI를 사용하여 프라이머리 노드의 로그 파일을 보는 방법.
  1. 에 설명된 대로 SSH를 사용하여 기본 노드에 연결합니다를 사용하여 Amazon EMR 클러스터 기본 노드에 연결 SSH.

  2. 보려는 로그 파일 정보가 포함된 디렉터리로 이동합니다. 이전의 표는 사용 가능한 로그 파일 유형 및 파일이 있는 위치의 목록을 제공합니다. 다음 예제에서는 s-1234ABCDEFGH라는 ID의 단계 로그로 이동하기 위한 명령을 보여 줍니다.

    cd /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/
  3. 원하는 파일 뷰어를 사용하여 로그 파일을 볼 수 있습니다. 다음 예제에서는 Linux less 명령을 사용하여 controller 로그 파일을 봅니다.

    less controller

Amazon S3에 아카이브된 로그 파일 보기

기본적으로 콘솔을 사용하여 시작된 Amazon EMR 클러스터는 로그 파일을 Amazon S3에 자동으로 아카이브합니다. 고유의 로그 경로를 지정하거나 콘솔에서 로그 경로를 자동으로 생성할 수 있습니다. CLI 또는를 사용하여 시작된 클러스터의 경우 Amazon S3 로그 아카이빙API을 수동으로 구성해야 합니다.

AmazonEMR이 Amazon S3에 로그 파일을 아카이브하도록 구성된 경우 지정한 S3 위치, /cluster-id/ 폴더, 여기서 cluster-id는 클러스터 ID에 파일을 저장합니다.

다음 테이블에는 Amazon S3에 있는 몇 가지 로그 파일이 나열되어 있습니다.

위치 설명

/cluster-id/노드/

노드에 대한 부트스트랩 작업, 인스턴스 상태 및 애플리케이션 로그를 포함한 노드 로그입니다. 각 노드의 로그는 해당 노드의 EC2 인스턴스 식별자로 레이블이 지정된 폴더에 저장됩니다.

/cluster-id/노드/instance-id/application

애플리케이션과 연결된 각 애플리케이션이나 데몬에서 생성된 로그입니다. 예를 들어 Hive 서버 로그는 cluster-id/node/instance-id/hive/hive-server.log에 있습니다.

/cluster-id/steps/step-id/

단계 처리에 대한 정보가 포함된 단계 로그입니다. 의 값은 Amazon에서 할당한 단계 ID를 step-id 나타냅니다EMR. 예를 들어, 클러스터에는 s-1234ABCDEFGHs-5678IJKLMNOP라는 두 개의 단계가 있습니다. 첫 번째 단계는 /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/에, 그리고 두 번째 단계는 /mnt/var/log/hadoop/steps/s-5678IJKLMNOP/에 있습니다.

Amazon에서 작성한 단계 로그EMR는 다음과 같습니다.

  • controller - 단계 처리에 대한 정보입니다. 단계를 로드하는 동안 장애가 발생하면 이 로그에서 스택 트레이스를 볼 수 있습니다.

  • syslog - 단계에서 Hadoop 작업 실행을 설명합니다.

  • stderr - 단계를 처리하는 동안 Hadoop의 표준 오류 채널입니다.

  • stdout - 단계를 처리하는 동안 Hadoop의 표준 출력 채널입니다.

/cluster-id/용기

애플리케이션 컨테이너 로그입니다. 각 YARN 애플리케이션의 로그는 이러한 위치에 저장됩니다.

/cluster-id/hadoop-mapreduce/

작업의 MapReduce 구성 세부 정보 및 작업 기록에 대한 정보가 포함된 로그입니다.

Amazon S3 콘솔을 사용하여 Amazon S3에 아카이브된 로그 파일을 보는 방법
  1. 에 로그인 AWS Management Console 하고에서 Amazon S3 콘솔을 엽니다https://console.aws.amazon.com/s3/.

  2. Amazon S3에 로그 파일을 아카이브하도록 클러스터를 구성할 때 지정한 S3 버킷을 엽니다.

  3. 표시할 정보가 포함된 로그 파일로 이동합니다. 이전의 표는 사용 가능한 로그 파일 유형 및 파일이 있는 위치의 목록을 제공합니다.

  4. 로그 파일 객체를 다운로드하여 확인합니다. 관련 지침은 객체 다운로드를 참조하세요.