Amazon S3 로그를 사용하도록 작업 실행 구성
작업 진행 상황을 모니터링하고 실패 문제를 해결하려면 Amazon S3, Amazon CloudWatch Logs 또는 둘 다로 로그 정보를 전송하도록 작업을 구성해야 합니다. 이 주제는 Amazon EMR on EKS에서 시작된 작업에 Amazon S3에 애플리케이션 로그를 게시하는 작업을 시작하는 데 도움이 됩니다.
S3 로그 IAM 정책
작업에서 Amazon S3로 로그 데이터를 전송하려면 먼저 작업 실행 역할에 대한 권한 정책에 다음 권한이 포함되어야 합니다. amzn-s3-demo-logging-bucket
을 로깅 버킷의 이름으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-logging-bucket
", "arn:aws:s3:::amzn-s3-demo-logging-bucket
/*", ] } ] }
참고
Amazon EMR on EKS는 Amazon S3 버킷을 생성할 수도 있습니다. Amazon S3 버킷을 사용할 수 없는 경우 IAM 정책에 “s3:CreateBucket”
권한을 포함합니다.
Amazon S3에 로그를 전송할 수 있는 적절한 권한을 실행 역할에 부여한 후 AWS CLI를 사용하여 작업 실행 관리에서와 같이 start-job-run
요청의 monitoringConfiguration
섹션에 s3MonitoringConfiguration
이 전달되면 로그 데이터가 다음 Amazon S3 위치로 전송됩니다.
-
제출자 로그 - /
logUri
/virtual-cluster-id
/jobs/job-id
/containers/pod-name
/(stderr.gz/stdout.gz) -
드라이버 로그 - /
logUri
/virtual-cluster-id
/jobs/job-id
/containers/spark-application-id
/spark-job-id
-driver/(stderr.gz/stdout.gz) -
실행기 로그 - /
logUri
/virtual-cluster-id
/jobs/job-id
/containers/spark-application-id
/executor-pod-name
/(stderr.gz/stdout.gz)