Spark 작업 모니터링
실패를 모니터링하고 문제를 해결할 수 있도록 엔드포인트에서 시작된 작업이 Amazon S3, Amazon CloudWatch Logs 또는 둘 다로 로그 정보를 전송할 수 있게 대화형 엔드포인트를 구성합니다. 다음 섹션에서는 Amazon EMR on EKS 대화형 엔드포인트에서 Amazon EMR로 시작하는 Spark 작업에 대한 Spark 애플리케이션 로그를 Amazon S3로 보내는 방법을 설명합니다.
Amazon S3 로그에 대한 IAM 정책 구성
커널에서 Amazon S3로 로그 데이터를 전송하려면 먼저 작업 실행 역할에 대한 권한 정책에 다음 권한 정책이 포함되어야 합니다. amzn-s3-demo-destination-bucket
을 로깅 버킷 이름으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-destination-bucket
", "arn:aws:s3:::amzn-s3-demo-logging-bucket
/*", ] } ] }
참고
Amazon EMR on EKS는 S3 버킷도 생성할 수 있습니다. S3 버킷을 사용할 수 없는 경우 IAM 정책에 s3:CreateBucket
권한을 포함합니다.
S3 버킷에 로그를 전송하는 데 필요한 권한을 실행 역할에 부여한 후 로그 데이터는 다음 Amazon S3 위치로 전송됩니다. 이는 create-managed-endpoint
요청의 monitoringConfiguration
섹션에서 s3MonitoringConfiguration
이 전달될 때 수행됩니다.
-
드라이버 로그 -
logUri/virtual-cluster-id/endpoints/endpoint-id/containers/spark-application-id/spark-application-id-driver/(stderr.gz/stdout.gz)
-
실행기 로그 -
logUri/virtual-cluster-id/endpoints/endpoint-id/containers/spark-application-id/executor-pod-name-exec-<Number>/(stderr.gz/stdout.gz)
참고
Amazon EMR on EKS는 엔드포인트 로그를 S3 버킷에 업로드하지 않습니다.