配置任务运行以使用 Amazon S3 日志 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置任务运行以使用 Amazon S3 日志

为了能够监控任务进度并排除故障,您必须将任务配置为向 Amazon S3、Amazon Logs 或两者发送 CloudWatch 日志信息。本主题可提供入门知识,帮助您将通过 Amazon EMR on EKS 启动的任务的应用程序日志发布到 Amazon S3。

S3 日志 IAM policy

任务执行角色的权限策略中必须包含以下权限,然后才能将日志数据发送到 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 policy 应包含 “s3:CreateBucket” 权限。

在您授予执行角色将日志发送到 Amazon S3 的合适权限后,只要 s3MonitoringConfiguration 通过 monitoringConfiguration 请求的 start-job-run 部分,您的日志数据将发送到以下 Amazon S3 位置,如 使用管理作业运行 Amazon CLI 所示。

  • 提交者日志-virtual-cluster-id ///jobs/ /c job-id ontainers/logUri/(stderr.gz/ pod-name stdout.gz)

  • 驱动程序日志-virtual-cluster-id ///jobs/ /containerslogUri//spark--driver/ (st job-id derr.gz/stdout.gzspark-application-id) job-id

  • 执行者日志-virtual-cluster-id ///jobs/ /containerslogUri///(st job-id derr.gz/stdout. spark-application-id gz) executor-pod-name