监控 Spark 任务 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

监控 Spark 任务

为了监控故障并排除故障,请配置您的交互式终端节点,以便通过终端节点启动的任务可以向 Amazon S3、Amazon Logs 或两者发送 CloudWatch 日志信息。以下各节介绍如何将您使用 Amazon EMR on EKS 交互式端点启动的 Spark 任务的 Spark 应用程序日志发送到 Amazon S3。

配置 Amazon S3 日志的 IAM policy

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

在授予执行角色将日志发送到 S3 存储桶的权限后,日志数据将发送到以下 Amazon S3 位置。当 s3MonitoringConfigurationcreate-managed-endpoint 请求的 monitoringConfiguration 部分中传递时,就会发生这种情况。

  • 驱动程序日志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 存储桶。