本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将任务运行配置为使用 Amazon CloudWatch 日志
要监控任务进度并排除故障,您必须将任务配置为向 Amazon S3、Amazon Logs 或两者发送 CloudWatch 日志信息。本主题可帮助您开始在 EKS 上使用 Amazon EMR 启动的任务上使用 CloudWatch 日志。有关 CloudWatch 日志的更多信息,请参阅 Amazon CloudWatch 用户指南中的监控日志文件。
CloudWatch 日志 IAM 策略
要将日志数据发送到 CloudWatch 日志,任务执行角色的权限策略中必须包含以下权限。将my_log_group_name和my_log_stream_prefix,分别替换为 CloudWatch 日志组的名称和日志流名称。如果日志组和日志流式传输不存在,只要执行角色 ARN 具有适当的权限,则 Amazon EMR on EKS 将创建这些日志组和日志流式传输。
注意
Amazon EMR on EKS 还可以创建日志流。如果日志流不存在,IAM policy 应包含 "logs:CreateLogGroup" 权限。
在您为执行角色授予适当的权限后,您的应用程序会在start-job-run请求monitoringConfiguration部分中传递其 CloudWatch 日志数据时cloudWatchMonitoringConfiguration将其日志数据发送到 Logs,如所示使用管理作业运行 AWS CLI。
在 StartJobRun API 中,log_group_name 是的日志组名称 CloudWatch,log_stream_prefix是的日志流名称前缀 CloudWatch。您可以在 AWS Management Console中查看和搜索这些日志。
-
提交者日志-
virtual-cluster-id///jobslogGroup//cjob-idontainerslogStreamPrefix//(stderr/pod-namestdout) -
驱动程序日志-
virtual-cluster-id///jobslogGroup//containerslogStreamPrefix//spark--drivjob-ider/ (stderrstdout)spark-application-idjob-id -
执行者日志-
virtual-cluster-id///jobslogGroup//containerslogStreamPrefix///(stjob-idderr/stdoutspark-application-id)executor-pod-name