監控 Spark 任務 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控 Spark 任務

若要監控故障並進行故障診斷,請設定您的互動式端點,以便使用端點啟動的任務可以將日誌資訊傳送至 Amazon S3、Amazon CloudWatch Logs 或兩者。下列各節說明如何針對您在EKS互動式端點EMR上使用 Amazon 啟動的 Spark 任務,將 Spark 應用程式日誌傳送至 Amazon S3。

設定 Amazon S3 日誌IAM的政策

在您的核心將日誌資料傳送到 Amazon S3 之前,作業執行角色的許可政策必須包含下列許可。Replace (取代) 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政策中包含 s3:CreateBucket 許可。

將所需許可授予給執行角色以便將日誌傳送到 S3 儲存貯體之後,您的日誌資料會傳送到以下 Amazon S3 位置。在 create-managed-endpoint 請求的 monitoringConfiguration 區段中傳遞 s3MonitoringConfiguration 時,會發生這種情況。

  • 驅動程式日誌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 儲存貯體。