使用 Amazon EMR 容器默认分类 - Amazon EMR

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

使用 Amazon EMR 容器默认分类

概述

可在 emr-containers-defaults 分类下进行以下设置:

job-start-timeout

默认情况下,如果作业无法启动,则会超时,并在 SUBMITTED 状态下等待 15 分钟。此配置会更改作业超时前等待的秒数。

executor.logging

启用或禁用执行程序 pod 上的日志记录。将其设置为 DISABLED时,日志容器将从执行程序 pod 中删除,这将禁用中指定的这些 pod 的任何日志记录monitoringConfiguration,例如s3MonitoringConfigurationcloudWatchMonitoringConfiguration。如果未设置此设置或将其设置为任何其他值,则会启用在执行程序 pod 上的登录。

logging.image

设置用于驱动程序和执行程序容器组上的日志记录容器的自定义映像。

logging.request.cores

为驱动程序和执行器容器上的日志容器的 CPUs数量设置自定义值(以 CPU 为单位)。默认情况下,不设置此值。

logging.request.memory

为驱动程序和执行程序容器组上的日志记录容器设置内存量自定义值(以字节为单位)。默认情况下,这设置为 512Mi。mebibyte 是一种类似于 megabyte 的度量单位。

任务提交者分类示例

具有自定义任务超时的 StartJobRun请求

{ "name": "spark-python", "virtualClusterId": "virtual-cluster-id", "executionRoleArn": "execution-role-arn", "releaseLabel": "emr-6.11.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "s3://S3-prefix/trip-count.py" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "job-start-timeout": "1800" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } } }

StartJobRun在禁用执行程序 pod 的日志记录的情况下请求

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "executor.logging": "DISABLED" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }

StartJobRun使用驱动程序和执行程序 pod 的自定义日志容器镜像、CPU 和内存进行请求

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.image": "YOUR_ECR_IMAGE_URL", "logging.request.memory": "200Mi", "logging.request.cores": "0.5" } } ], "monitoringConfiguration": { "cloudWatchMonitoringConfiguration": { "logGroupName": "/emr-containers/jobs", "logStreamNamePrefix": "demo" }, "s3MonitoringConfiguration": { "logUri": "s3://joblogs" } } }