监控 Spark 任务
为了能够监控并排查故障,请配置交互式端点,以便通过该端点启动的任务可以将日志信息发送到 Amazon S3、Amazon CloudWatch Logs 或同时发送到两者。以下各节介绍如何将您使用 Amazon EMR on EKS 交互式端点启动的 Spark 任务的 Spark 应用程序日志发送到 Amazon S3。
配置 Amazon S3 日志的 IAM policy
任务执行角色的权限策略中必须包含以下权限,内核才能将日志数据发送到 Amazon S3。将 amzn-s3-demo-destination-bucket 替换为存储桶的名称。
注意
Amazon EMR on EKS 也可以创建 S3 存储桶。如果 S3 存储桶不可用,则 IAM policy 应包含 s3:CreateBucket 权限。
在授予执行角色将日志发送到 S3 存储桶的权限后,日志数据将发送到以下 Amazon S3 位置。当 s3MonitoringConfiguration 在 create-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 存储桶。