Personalización de la ubicación del registro de los archivos de registro de pasos - 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.

Personalización de la ubicación del registro de los archivos de registro de pasos

A partir de la versión 7.11 de Amazon EMR, ahora puede personalizar el comportamiento de registro de S3 para cada paso. Para un solo paso, puede elegir un depósito de S3 único en el que se carguen los registros del paso. También puede elegir una clave KMS única que se utilice para cifrar los registros del paso en reposo, en S3. Estas opciones tienen prioridad sobre cualquier configuración de registro de todo el clúster que se configure al lanzar el clúster.

Requisitos previos

  • El clúster debe tener habilitado el registro de clústeres. Para obtener más información, consulte Configurar el registro y la depuración de clústeres de Amazon EMR.

  • EC2 perfil de instancia:

    • El perfil de EC2 instancia de su clúster debe poder acceder al depósito de S3 que se utilizará en la configuración de registro del paso.

    • El perfil de EC2 instancia de tu clúster debe poder acceder a la clave KMS que se utilizará en la configuración de registro del paso. Además, el perfil de EC2 instancias del clúster debe permitir kms:Decrypt y kms:GenerateDataKey realizar acciones.

Configuración del registro de pasos

Al enviar un paso a EMR, puede configurar el comportamiento de registro del paso mediante. StepMonitoringConfiguration StepMonitoringConfiguration Contiene el MonitoringConfiguration objeto S3, en el que puede especificar un depósito de registro de S3 y and/or una clave KMS para el paso.

En el siguiente ejemplo, se muestra cómo personalizar el depósito de S3 y la clave KMS de un paso a partir de un script de Python:

import boto3 emr_client = boto3.client("emr", region_name="us-east-1") # Define your step: example_step = [ { "Name": "Example Step for StepMonitoringConfiguration", "ActionOnFailure": "CONTINUE", "HadoopJarStep": { "Jar": "command-runner.jar", "Args": ["bash", "-c", "echo 1"] }, "StepMonitoringConfiguration": { "S3MonitoringConfiguration": { "LogUri": "s3://your-s3-bucket/", # Replace this with your S3 bucket "EncryptionKeyArn": "arn:aws:kms:your-kms-key-arn" # Replace this with your KMS key ARN } } } ] response = emr_client.add_job_flow_steps( JobFlowId="j-xxxxxxxxxxxxx", # Replace this with your EMR cluster ID Steps=example_step )

Consideraciones

  • Si tu clúster no habilita el registro de clústeres, los registros de pasos no se cargarán en S3 aunque proporciones unStepMonitoringConfiguration.

  • Si tu paso ejecuta una aplicación de Spark, los registros del contenedor de la aplicación también se subirán a la ubicación especificada en elStepMonitoringConfiguration.

  • Puedes especificar un LogUri sin especificar un EncryptionKeyArn o viceversa. EMR utilizará de forma predeterminada la configuración de todo el clúster para cualquier campo que se omita en. StepMonitoringConfiguration