本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定作業執行以使用 Amazon CloudWatch Logs
若要監控作業進度並對失敗進行疑難排解,必須設定作業,以便將日誌資訊傳送到 Amazon S3、Amazon CloudWatch Logs 或兩者。本主題可協助您開始在透過 Amazon EMR on EKS 啟動的作業上使用 CloudWatch Logs。如需有關 CloudWatch Logs 的詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的監控日誌檔案。
CloudWatch Logs IAM 政策
為了讓作業將日誌資料傳送到 CloudWatch Logs,必須在作業執行角色的許可政策中包含下列許可。將 my_log_group_name 和 my_log_stream_prefix 分別取代為 CloudWatch 日誌群組名稱和日誌串流名稱。如果日誌群組和日誌串流不存在,只要執行角色 ARN 具有適當的許可,Amazon EMR 就會建立它們。
注意
Amazon EMR on EKS 也可以建立日誌串流。如果日誌串流不存在,IAM 政策應包含 "logs:CreateLogGroup" 許可。
在為執行角色提供適當的許可之後,當在 start-job-run 請求的 monitoringConfiguration 區段中傳遞 cloudWatchMonitoringConfiguration 時,應用程式會將其日誌資料傳送至 CloudWatch Logs,如 使用 管理任務執行 AWS CLI 中所示。
在 StartJobRun API 中,log_group_name 是 CloudWatch 的日誌群組名稱,而 log_stream_prefix 是 CloudWatch 的日誌串流名稱字首。您可以在 AWS 管理主控台中檢視及搜尋這些日誌。
-
提交者日誌 -
logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/pod-name/(stderr/stdout) -
驅動程式日誌 -
logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/spark-application-id/spark-job-id-driver/(stderrstdout) -
執行程式日誌 -
logGroup/logStreamPrefix/virtual-cluster-id/jobs/job-id/containers/spark-application-id/executor-pod-name/(stderr/stdout)