View a markdown version of this page

Uso de la clasificación de valores predeterminados de contenedores de Amazon EMR - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la clasificación de valores predeterminados de contenedores de Amazon EMR

Descripción general de

Las siguientes configuraciones están disponibles en la clasificación emr-containers-defaults:

job-start-timeout

De forma predeterminada, se agota el tiempo de espera de un trabajo si no se puede iniciar y espera en estado de SUBMITTED durante 15 minutos. Esta configuración cambia la cantidad de segundos que se deben esperar antes de que se agote el trabajo.

executor.logging

Activa o desactiva el registro en los pods ejecutores. Si se establece en, DISABLED el contenedor de registro se elimina de los pods ejecutores, lo que deshabilitará cualquier registro de estos pods especificado enmonitoringConfiguration, como o. s3MonitoringConfiguration cloudWatchMonitoringConfiguration Si esta configuración no está establecida o se establece en cualquier otro valor, se habilita el inicio de sesión en los pods ejecutores.

logging.image

Establece una imagen personalizada que se usará en el contenedor de registro de los pods del controlador y del ejecutor.

logging.request.cores

Establece un valor personalizado para el número de CPU, en unidades de CPU, para el contenedor de registro de los pods del controlador y del ejecutor. No se establece de forma predeterminada.

logging.request.memory

Establece un valor personalizado para la cantidad de memoria, en bytes, del contenedor de registro de los pods del controlador y del ejecutor. De forma predeterminada, se establece en 512 Mi. Un mebibyte es una unidad de medida similar a un megabyte.

logging.eventLog.dir

Usa esta configuración para habilitar la interfaz de usuario persistente de la aplicación y guardar los registros de eventos de Spark en tu propia ubicación de S3. Configura logging.eventLog.dir la ruta S3 para tus registros de eventos. En monitoringConfiguration, establezca persistentAppUI en ENABLED. No configure spark.eventLog.dir cuándo lo usalogging.eventLog.dir; estas dos configuraciones son incompatibles. Si spark.eventLog.dir está configurada, esa configuración tiene prioridad y el contenedor de registro no puede replicar los registros de eventos de Spark. Esto significa que la ubicación de S3 especificada por logging.eventLog.dir no recibirá los registros de eventos y que la interfaz de usuario de la aplicación persistente tampoco funcionará.

Ejemplos de clasificación de remitentes de trabajos

Solicitud de StartJobRun con tiempo de espera de trabajo personalizado

{ "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" } } } }

StartJobRunsolicitud con el registro desactivado para los módulos ejecutores

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

StartJobRunsolicitud con imagen de contenedor de registro, CPU y memoria personalizadas para los módulos de controladores y ejecutores

"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" } } }
nota

Si el contenedor de registro de Fluentd detecta un error de falta de memoria (OOM), aumente el valor. logging.request.memory Por ejemplo, configúralo 1Gi para asignar más memoria al contenedor de registro y evitar problemas de OOM.

StartJobRunsolicite con el registro de eventos de Spark el destino de Amazon S3

El siguiente ejemplo guarda los registros de eventos de Spark en tu propio bucket de Amazon S3 y, al mismo tiempo, habilita la interfaz de usuario de la aplicación persistente. La persistentAppUI configuración es ENABLED la predeterminada.

"configurationOverrides": { "applicationConfiguration": [ { "classification": "emr-containers-defaults", "properties": { "logging.eventLog.dir": "s3://my-bucket/event-logs/" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED" } }
nota

No lo configures spark.eventLog.dir en la spark-defaults clasificación cuando lo utiliceslogging.eventLog.dir. Estas dos configuraciones son incompatibles. Si spark.eventLog.dir está establecida, esa configuración tiene prioridad y el contenedor de registro no puede replicar los registros de eventos de Spark. Esto significa que la ubicación de S3 especificada por logging.eventLog.dir no recibirá los registros de eventos y que la interfaz de usuario de la aplicación persistente tampoco funcionará.